Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Travis CI构建PHP项目并从Composer中提取依赖项,尝试使用git@而不是https_Php_Git_Composer Php_Travis Ci_Packagist - Fatal编程技术网

Travis CI构建PHP项目并从Composer中提取依赖项,尝试使用git@而不是https

Travis CI构建PHP项目并从Composer中提取依赖项,尝试使用git@而不是https,php,git,composer-php,travis-ci,packagist,Php,Git,Composer Php,Travis Ci,Packagist,背景 我们有一个在某一点之前运作良好的系统,从那以后就完全停止了运作。该项目无法使用Composer进行构建 详细信息 上一次成功构建是: 最近失败的生成是: 那是 不断出现的错误是: Failed to execute git clone --mirror 'git@github.com:edmondscommerce/Faker.git' '/home/travis/.composer/cache/vcs/git-github.com-edmondscommerce-Faker.git/'

背景

我们有一个在某一点之前运作良好的系统,从那以后就完全停止了运作。该项目无法使用Composer进行构建

详细信息

上一次成功构建是:

最近失败的生成是: 那是

不断出现的错误是:

Failed to execute git clone --mirror 'git@github.com:edmondscommerce/Faker.git' '/home/travis/.composer/cache/vcs/git-github.com-edmondscommerce-Faker.git/' 
最新的分支是,这是

请注意,在中,我们使用a表示:

这一切都适用于我们的本地测试,但在Travis中失败

我们尝试过的事情:

  • 冲洗Travis缓存

  • 在执行安装之前清除composer缓存-

  • 添加:

  • 希望它会消失
到目前为止运气不好

不幸的是,我们现在只是在本地测试,而忽略了Travis,因为即使代码运行良好,它现在也一直失败

希望你们中的一位读者能帮我解决这个问题

我们一起去的

最后,我们决定按照Evron的建议,将
“no-api”:true
添加到
存储库
配置中

这将迫使composer不再使用github API():

如果在github存储库上将no-api键设置为true,它将克隆存储库,就像克隆任何其他git存储库一样,而不是使用github-api


我看了一下,这与特拉维斯本身无关

在查看Travis并在Docker实例中本地运行Travis环境后,我能够重现这个问题

Travis抱怨无法通过Github进行身份验证

您需要使用Travis环境变量来设置访问令牌,以便Composer可以执行安装Faker的VCS存储库fork所需的操作

您可以在Travis中的存储库设置中定义该变量,然后将其作为标准Bash变量用于Travis
before\u script
数组或shell脚本中

生成日志中的令牌:

Setting environment variables from repository settings
$ export GITHUB_TOKEN=[secure]
您可以在此处定义所需的访问令牌:

然后可以在before脚本中进行如下设置:

before_script:
  - composer config github-oauth.github.com ${GITHUB_TOKEN};
  - bash -x .travis.bash
另一个选择是添加“无api”到你的假货叉-见下文

...
"repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/edmondscommerce/Faker.git",
      "no-api": true
    }
]
...
生成(失败,但已超过您遇到的问题点)

before_script:
  - composer config github-oauth.github.com ${GITHUB_TOKEN};
  - bash -x .travis.bash
...
"repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/edmondscommerce/Faker.git",
      "no-api": true
    }
]
...