首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用DEPLOY_TOKEN从Gitlab私有存储库安装R包?

如何使用DEPLOY_TOKEN从Gitlab私有存储库安装R包?
EN

Stack Overflow用户
提问于 2020-04-22 05:27:30
回答 1查看 150关注 0票数 0

首先,一个有效的命令:

使用在.Renviron文件中设置的GITLAB_PAT变量

代码语言:javascript
运行
复制
cred <- git2r::cred_token( token = 'GITLAB_PAT' );

remotes::install_gitlab('myuser/myproject',
                        credentials = cred ,upgrade = FALSE )

安装成功!但允许访问myuser的所有私有包。

从envvar GITLAB_PAT使用GitLab PAT

代码语言:javascript
运行
复制
Downloading GitLab repo myuser/myproject@master

from URL https://gitlab.com/api/v4/projects/12345678/repository/archive.tar.gz?sha=master

√  checking for file 'C:\Users\myuser\AppData\Local\Temp\RtmpCMKBuc\remotes7e0820dc515b\myproject-master-b31c5baa8f1d2d4967b00b739216cbb9b50d74b1/DESCRIPTION' (2.8s)
-  preparing 'myproject': (526ms)
√  checking DESCRIPTION meta-information ... 
-  checking for LF line-endings in source and make files and shell scripts
-  checking for empty or unneeded directories
-  building 'myproject_0.1.0.tar.gz'
...

** testing if installed package keeps a record of temporary installation path

* DONE (myproject)

其次,我的非工作区尝试使用DEPLOY_TOKEN:

使用在.Renviron文件中设置的DEPLOY_TOKEN,以便仅对包含包的存储库具有读取访问权限

代码语言:javascript
运行
复制
cred <- git2r::cred_token( token = 'MYPROJECT_TOKEN' );

remotes::install_gitlab('myuser/myproject',
                        credentials = cred ,upgrade = FALSE )

使用Gitlab PAT授予访问权限的->消息,这不是我想要的。

从envvar GITLAB_PAT使用GitLab PAT

代码语言:javascript
运行
复制
Skipping install of 'myproject' from a gitlab remote, the SHA1 (b31c5bac) has not changed since last install.

Use `force = TRUE` to force installation

总而言之,我可以使用DEPLOY_TOKEN在Gitlab上安装一个私人项目的R包吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-25 02:25:40

我在组部署令牌https://www.youtube.com/embed/8kxTJvaD9ks?rel=0上找到了有用的完整视频

这给出了int:

代码语言:javascript
运行
复制
git clone https://gitlab+deploy-token-157011:-vz-oxsbL2y_ffdZoedq@gitlab.com/myuser/myproject.git

按照这个方向,这是可行的:(从.gitlab-ci.yml中提取)

代码语言:javascript
运行
复制
`- R -e "devtools::install_git(paste0('https://',Sys.getenv('DEPLOY_USERNAME'),":", 
                         Sys.getenv('DEPLOY_TOKEN'),
                         '@gitlab.com/myuser/myproject.git"'), upgrade = FALSE)"`

使用gitlab变量

部署用户名=gitlab+DEPLOY-TOKEN-157011和DEPLOY_TOKEN=-vz-oxsbL2y_ffdZoedq

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61353552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档