我一直在尝试为PHP设置构建系统,并具有以下Jenkins管道。
pipeline {
agent { docker { image 'my-custom-image' } }
stages {
stage('Build') {
steps {
sh 'composer config --global --auth http-basic.repo.packagist.com token mytokencode'
}
}
}
}
这是在拉取docker镜像,但是当执行composer命令时,它会引发以下错误:
Cannot create cache directory /.composer/cache/repo/https---repo.packagist.com-domain/, or directory is not writable. Proceeding without cache
Cannot create cache directory /.composer/cache/files/, or directory is not writable. Proceeding without cache
[ErrorException]
touch(): Unable to create file /.composer/config.json because No such file or directory
并且构建失败。我怎样才能解决这个问题 ?
最佳答案
您可以将COMPOSER_HOME环境变量设置为实际目录,Composer会将其保存在该目录中。就像是:
pipeline {
agent { docker { image 'my-custom-image' } }
stages {
stage('Build') {
steps {
sh 'COMPOSER_HOME=$(pwd) composer config --global --auth http-basic.repo.packagist.com token mytokencode'
}
}
}
}
关于php - Jenkins中的 Composer 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50348312/