r - gitlab CI 从私有存储库安装 R 包
问题描述
我正在尝试为位于私有存储库中的 R 包构建 gitlab CI 文件。这个包依赖于另一个私有存储库中的另一个 R 包。要安装依赖包,我使用以下方法,我确信这不是最好的,因为用户名/密码详细信息已暴露。
是否有另一种方法可以从私有 gitlab 存储库安装依赖包?
image: rocker/rstudio
stages:
- build
build_job:
stage: build
before_script:
- apt-get update
script:
- Rscript -e "install.packages(c('covr','testthat','devtools'))"
- Rscript -e "devtools::install_git('https://username:password@gitlab.com/project.git')"
- Rscript -e "devtools::test()"
- R CMD build . --no-build-vignettes --no-manual
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual
- mkdir build
- mv "${PKG_FILE_NAME}" $CI_PROJECT_DIR/build
artifacts:
paths:
- build/
expire_in: 1 week
解决方案
经过更多尝试后,我找到了一种可以完成的方法,您可以为您的项目创建一个组令牌并使用它而不是用户名/密码 https://docs.gitlab.com/ee/user/project/deploy_tokens/
- Rscript -e "devtools::install_git('https://gitlab+deploy-token-891150:gH-QQZ3BHJuioZfZkl1M@gitlab.com/project.git')"
推荐阅读
- javascript - 排序中的 React JS 函数返回 Null
- php - 解决 Laravel 安装 SSL 证书错误
- reactjs - 当用户点击添加新行时如何显示最后一页,以便用户可以使用react js和prime react查看新添加的行
- c# - 增加列表c#中的元素
- jquery - 打开放大弹出窗口
- qt - 如何使用布局将按钮放入另一个按钮
- javascript - 赛普拉斯自定义命令无法被 PhpStorm IDE 识别,但在测试运行程序中工作
- node.js - 配置 Docker 节点的问题
- tableau-api - 从 Tableau Desktop 中的所有工作表批量导出 PNG
- javascript - 使用条件调用 API 管理 useEffect 中的取消 Axios