Jenkins凭据,用于在部署时通过ssh克隆github存储库



我在让jenkins进行composer更新时遇到了一些问题,因为composer依赖项之一是托管在Github 上的私有git repo

我也遇到了让composer update命令在命令行中工作的问题:

$ cd /var/lib/jenkins/jobs/JOB/workspace
$ ls -la auth.json
-rw-rw-r-- 1 jenkins jenkins 99 Aug  3 15:49 auth.json
$ cat auth.json
{
    "github-oauth" : {
        "github.com" : "<notAvailableOnSO>"
    }
}
$ composer update -n

错误:

Failed to clone the git@github.com:<Org>/<Project>.git repository, try running in interactive mode so that you can enter your GitHub credentials
[RuntimeException]
Failed to execute git clone --mirror 'https://***:***@github.com/<Org>/<Project>.git' '/var/lib/jenkins/.composer/cache/vcs/git-github.com-<Org>-<Project>.git/'
Cloning into bare repository '/var/lib/jenkins/.composer/cache/vcs/git-github.com-<Org>-<Project>.git'...
remote: Repository not found.
fatal: repository 'https://***:***@github.com/<Org>/<Project>.git/' not found

我试图更新的项目在其composer.json:中有这个存储库设置

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/<Org>/<Project>.git"
    }
]

即使没有-n(交互模式),我也可以输入githuboauth令牌,并让composer报告令牌已保存,但仍然会收到错误。

我是把auth.json放错地方了,还是应该用不同的方式进行授权?

(显然不可能为了部署工作而在github上发布专有源代码)

我使用了"composer update"命令(命令行和通过jenkins)。

在实际阅读了错误消息并了解到存储库对用户不可用后,登录github,我通过确保github用户实际上被允许对存储库进行读取访问来解决我的问题。

:)

相关内容

  • 没有找到相关文章

最新更新