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