构建 Composer 类型制品
在 CODING 持续集成任务构建过程当中,您可以选择将构建物上传至 CODING 制品库。
在使用该功能之前,请确保您对 Composer 类型制品库有初步了解。
Jenkinsfile
pipeline {
agent any
stages {
stage('检出') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: env.GIT_BUILD_REF]],
userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]
])
}
}
stage('构建') {
steps {
script {
docker.image("php:8.0-cli").inside("-e USERNAME=${env.COMPOSER_USERNAME} -e PASSWORD=${env.COMPOSER_PASSWORD}") {
echo '测试'
sh 'curl https://mirrors.cloud.tencent.com/composer/composer.phar -o /usr/local/bin/composer && chmod +x /usr/local/bin/composer'
sh 'composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/'
sh 'find /etc/apt/ -name "*.list" -print0 | xargs -0 sed -i -E "s/[a-z]+.debian.org/mirrors.cloud.tencent.com/g"'
sh 'apt-get update && apt-get install -y libzip-dev unzip zip zlib1g-dev'
sh 'docker-php-ext-install zip'
sh 'composer install --no-dev'
sh 'composer install'
echo '打包'
sh 'rm composer.lock'
sh 'zip -r composer-package.zip . -x "./vendor/*"'
echo '推送到制品库'
sh "curl -T composer-package.zip -u ${USERNAME}:${PASSWORD} https://your-team-composer.pkg.coding.net/composer-demo/private-composer"
}
}
}
}
}
}
环境变量
创建「项目令牌」,获得用户名/密码,录入持续集成的环境变量:
本地开发可以使用自己的用户名/密码,在 Linux/macOS 中修改 ~/.composer/auth.json
:
{
"http-basic": {
"your-team-composer.pkg.coding.net": {
"username": "",
"password": ""
}
}
}
截图

感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?
您希望我们如何改进?