首页 > 解决方案 > Gitlab CI/CD 无法下载私有作曲家包

问题描述

我正在尝试使用 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:拉私人作曲家包时“权限被拒绝”

信息

我的.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

我错过了什么吗?

标签: laraveldockersshgitlab-ci-runner

解决方案


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


推荐阅读