[英]How to use a DEPLOY_TOKEN to install an R package from a Gitlab private repository?
[英]gitlab CI install R package from private repository
我正在嘗試為位於私有存儲庫中的 R package 構建 gitlab CI 文件。 這個 package 依賴於另一個私有存儲庫中的另一個 R package。 要安裝依賴項 package 我使用以下方法,我確信這不是最好的,因為用戶名/密碼詳細信息已暴露。
是否有其他方法可以從私有 gitlab 存儲庫安裝依賴項 package?
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')"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.