在部署

时间:2016-08-03 14:05:38

标签: github jenkins oauth composer-php

我有一些问题让jenkins做一个作曲家更新,因为其中一个作曲家依赖是一个私人git仓库,托管在Github上

我在使用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(交互模式),我也可以输入github oauth令牌并让作曲家报告该令牌已被保存并仍然得到错误。

我是否将auth.json放在错误的位置,或者我应该以不同的方式进行授权?

(显然不可能在github上发布专有源代码,以便进行部署工作)

1 个答案:

答案 0 :(得分:0)

我得到了#34;作曲家更新&#34;命令工作(命令行和通过jenkins)。

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

:)