Gitlab CI-在私有repo上安装composer

Gitlab CI-在私有repo上安装composer,git,symfony,composer-php,gitlab,gitlab-ci,Git,Symfony,Composer Php,Gitlab,Gitlab Ci,我正在尝试为我正在从事的一个项目(PHP-Symfony 4/MySQL)设置Gitlab CI。我已经创建了.gitlab ci.yml文件,其中包含准备Docker映像所需的步骤。其中一个步骤是运行composer安装——这通常会安装一组链接代码,其中一些来自私有存储库(也存储在Gitlab上) 我正在尝试制定当前的最佳实践,允许Gitlab CI runner从其私有repo克隆此代码。我在其他堆栈溢出帖子中看到了对${CI_JOB_TOKEN}变量的引用,但似乎缺少使其工作的连接信息位-

我正在尝试为我正在从事的一个项目(PHP-Symfony 4/MySQL)设置Gitlab CI。我已经创建了
.gitlab ci.ym
l文件,其中包含准备Docker映像所需的步骤。其中一个步骤是运行
composer安装
——这通常会安装一组链接代码,其中一些来自私有存储库(也存储在Gitlab上)

我正在尝试制定当前的最佳实践,允许Gitlab CI runner从其私有repo克隆此代码。我在其他堆栈溢出帖子中看到了对
${CI_JOB_TOKEN}
变量的引用,但似乎缺少使其工作的连接信息位-例如,我是否需要修改私有repo以某种方式将此变量作为部署令牌访问,或者,当Gitlab从自己的服务器克隆代码时,这种情况会自动发生吗


是否有人有一个完整的
.gitlab ci.yml
文件示例,可以使用composer从私有repo克隆代码?如果相关的话,我需要克隆4个私有回购协议,并且对于依赖这些库的许多项目,需要使用相同的CI设置。

我在阅读了本页几次之后,设法解决了这个问题-

它提到推送代码的用户是作为用户运行CI任务的用户。利用这些知识和自动可用的
CI\u JOB\u TOKEN
变量,我在脚本之前添加了以下内容:

git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/".insteadOf "git@gitlab.com:"
…然后在我的
composer.json
中,添加了我想要使用的存储库列表(使用
“存储库”):[]
键,因为这允许我强制它们使用https签出,而不是本地使用的ssh


这种组合现在允许我运行CI任务并从私有存储库中提取代码,而无需权限问题-无需部署密钥或令牌。

感谢您填补GitLab文档中的漏洞。您现在有了要共享的完整的.GitLab-CI.yml文件吗?:)抱歉,我想我不久就放弃了它,并没有完全完成它。