【问题标题】:Gitlab CI/CD can't download private composer packageGitlab CI/CD 无法下载私有作曲家包
【发布时间】:2019-11-14 19:25:04
【问题描述】:

我正在尝试使用 Docker 容器内的 gitlab CI/CD 在我的 gitlab 项目中下载一个私有 gitlab 存储库包。

现在我收到以下错误:

- Installing {package} (dev-master 30bb2f3): Downloading    Failed to download {package} from dist: Could not authenticate against gitlab.com
80     Now trying to download from source
81   - Installing {package} (dev-master 30bb2f3): Cloning 30bb2f3bb7
82                                                                                                                                                                                                                                                                                                                           
83   [RuntimeException]                                                                                                                                                                                                                                                                                                      
84   Failed to execute git clone --no-checkout 'git@gitlab.com:{user}/{project}/{repo}.git' 

我尝试了一切,但解决方案..
这篇文章对我没有帮助:GitLab CI: "Permission denied" when pulling private composer package

信息

  • 我正确设置了SSH,因为项目部署会成功
  • 我在我的 repo url 中使用部署令牌,但它没有帮助
  • 私钥设置为gitlab变量

我的.gitlab-ci.yml

.init_ssh: &init_ssh |
  which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
  eval $(ssh-agent -s)
  echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
  mkdir -p ~/.ssh
  chmod 700 ~/.ssh
  ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
  chmod 644 ~/.ssh/known_hosts
  echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config

Composer:
  stage: Build
  script:
    - *init_ssh
    - composer install --prefer-dist --no-ansi --no-interaction --no-progress --no-scripts

我错过了什么吗?

【问题讨论】:

    标签: laravel docker ssh gitlab-ci-runner


    【解决方案1】:

    我通过这篇文章解决了这个问题:https://stackoverflow.com/a/38570269/6385459 这是将公共 SSH 密钥作为部署密钥添加到所有私有依赖项的部分。我有一个错误的 public_key 导致了问题..

    【讨论】:

      猜你喜欢
      • 2021-05-22
      • 2021-08-17
      • 2022-07-06
      • 2021-03-21
      • 2016-02-02
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多