簡體   English   中英

R 私有組織中的包 - 如何在組織內安裝私有依賴項?

[英]R packages in private organization - how to install private dependencies within organization?

我們的 GitHub 組織是私有的,並且正在我們組織的多個不同存儲庫中開發多個私有 R 包。 其中一些軟件包依賴於我們私有組織中的其他存儲庫。 如何設置 GitHub 操作才能安裝這些私有依賴項? 我的描述文件當前包含:

Imports:
    MyPackageDep
Remotes:
    MyOrg/MyPackageDep

我的 GitHub Actions .yaml的相關部分是:

  - name: Install dependencies
    run: |
      remotes::install_deps(dependencies = TRUE)
      remotes::install_cran("rcmdcheck")
    shell: Rscript {0}

我嘗試按照此 SO 帖子的建議將我的 PAT 存儲在.Renviron文件中。 但這不僅仍然行不通,我仍然不確定這將如何與 package 的多個貢獻者一起工作。他們是否只需要在自己的.Renviron GITHUB_PAT

我還嘗試按照這個GitHub 問題的建議,在我的 GitHub 工作流程中包含以下內容:

 env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

工作流仍然無法下載依賴項。

無論如何,是否有 GitHub Secrets 來預配置存儲庫以訪問組織中的所有其他私有存儲庫?

大多數 IT 公司出於安全目的使用"Rstudio Package Manager" 因此,我們無法在辦公室筆記本電腦/系統中安裝其他軟件包。 我嘗試了一些東西,這對我有用。

我認為這個解決方案會對你有所幫助。 請查看此答案並嘗試此操作。 https://stackoverflow.com/a/70875212/10574296

GITHUB_TOKEN僅允許您訪問當前存儲庫。 您需要生成 PAT 並授予其訪問您的組織的權限: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

然后將 PAT 作為機密添加到您的存儲庫:

在此處輸入圖像描述

然后在您的操作 yaml 中您可以添加:

    env:
      # This allows installation of private github repos
      GITHUB_PAT: ${{ secrets.PAT }}

然后 r-lib/actions 應該能夠訪問內部存儲庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM