我有一个laravel应用程序,我尝试使用GitLab autodevops将其部署到Google Kubernetes。当我触发CI管道时,它会启动Herokuish PHP构建和npm安装,然而,一些composer repos是私有的。我知道我需要添加一个名为COMPSER_AUTH的环境变量,它包含auth.json的内容,auth.json包含允许从repos检索的令牌。但由于某些原因,管道总是失败,因为它没有权限检索那些repos。我知道auth.json的内容是正确的,因为我在本地尝试了它,它工作了。我希望有人能帮助我解决这个问题!
下面是composer.json中repo部分的内容
"repositories": {
"nova" : {
"type": "composer",
"url": "https://nova.laravel.com"
}
}
对于COMPOSER_AUTH
变量,内容如下所示
'{
"gitlab-token":{
"gitlab.com": "GITLABTOKENHERE"
},
"http-basic": {
"nova.laravel.com": {
"username": "MY-EMAILI-HERE",
"password": "MY-NOVA-TOKEN-HERE"
}
}
}'
这是我在npm安装x1c 0d1x期间收到的一些错误消息
1条答案
按热度按时间zdwk9cvp1#
我不知道你是否还存在这个问题,但我自己也遇到了这个问题。这是一个巨大的痛苦,但我刚刚得到了解决。我正在使用Gitlab管道与Dokku,所以听起来我们正在做类似的事情。
在GitLab Project〉Settings〉CI/CD〉Variables中,我创建了一个名为COMPOSER_AUTH的变量。不过它的格式很难弄清楚。我在网上找到的所有例子都不一样,所以需要大量的试验和错误。下面是我所做的一个例子。
因此,诀窍是在json的两边加上单引号,然后去掉所有空格,这样就可以在一行中显示所有内容,而不白色。
从那里,我可以使用$COMPSER_AUTH引用Gitlab CI变量,并将其保存到管道中的.env中。