1. 授权认证
  2. 获取用户个人信息
  3. 项目协同
  4. 代码托管
  5. 持续集成
  6. 制品仓库
  7. 测试管理
  8. 文档管理
  1. 项目协同
  2. 代码仓库
  3. DevOps 实践之旅
  4. 一分钟开始持续集成之旅
  5. 持续部署
  6. 制品库

构建 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"
          }
        }
      }
    }
  }
}

环境变量

创建「项目令牌」,获得用户名/密码,录入持续集成的环境变量:

CODING Jenkins Composer env

本地开发可以使用自己的用户名/密码,在 Linux/macOS 中修改 ~/.composer/auth.json

{
     "http-basic": {
         "your-team-composer.pkg.coding.net": {
             "username": "",
             "password": ""
         }
     }
 }

截图

CODING Jenkins Composer 构建成功
CODING Jenkins Composer 制品库

上一篇构建 npm 类型制品
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?