1. 授权认证
  2. 获取用户个人信息
  3. 项目协同
  4. 代码托管
  5. 持续集成
  6. 制品仓库
  7. 测试管理
  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:7.4-cli").inside("-e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD}") {
            echo '构建中...'
            sh 'curl -sS http://getcomposer.org.mirrors.china-speed.org.cn/installer | php -- --install-dir=/usr/local/bin --filename=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 'zip -r composer-package.zip . -x "./vendor/*"'
            sh "curl -T composer-package.zip -u ${USERNAME}:${PASSWORD} https://your-team-composer.pkg.coding.net/composer-demo/private-composer"
            echo '推送完成.'
          }
        }
      }
    }
  }
}

环境变量配置

为了防止密码泄漏,应把用户名和密码放在环境变量里。在 CODING 持续集成中这样设置:

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 类型制品
最近更新
感谢反馈有用
感谢反馈没用