云应用引擎 CAE-配置流水线构建任务:配置流水线脚本

时间:2024-05-21 17:21:10

配置流水线脚本

流水线脚本是构建时运行的构建命令,脚本参数说明见表1

表1 流水线脚本参数说明

参数

是否必须

参数类型

描述

git_url

String

Gitlab代码仓库地址。

credentials_id

String

使用账号密码配置的Gitlab凭据id,参考创建Gitlab凭证

branch_name

String

Gitlab代码仓库分支名称。

maven

String

maven安装的可执行文件路径,示例:/root/app/maven/apache-maven-3.8.6/bin/mvn。

deploy_shell

String

deploy.sh脚本在Jenkins所在虚拟机上存放的路径,示例:/root/jar/deploy.sh,内容请参见deploy.sh脚本说明

build_target_name

String

构建产物名称:软件包名称或镜像名称:版本号,通过执行脚本时传入该参数,软件包部署场景为软件包名称,镜像部署场景为构建出来的镜像名称:版本号。

  1. 完成“构建触发器”配置之后,在“流水线”页签,在下拉框选择“Pipeline script”。

    图10 流水线配置

  2. 配置流水线脚本,示例中使用的是构建jar包场景,脚本如下:

    node {
        // 定义代码仓地址
        def git_url = 'http://100.**.**.207:8090/test/test-demo.git'
        // Gitlab凭据id
        def credentials_id = '133b7c9a-eb6a-4484-84b3-c3509ed63df8'
        // git代码仓库分支名称
        def branch_name = 'main'
        // maven安装的可执行文件路径
        def maven = '/root/app/maven/apache-maven-3.8.6/bin/mvn'
        // deploy.sh 脚本存放路径,需要设置可执行权限
        def deploy_shell = '/root/jar/deploy.sh'
        // 构建产物名称:软件包名称或镜像名称,必须参数,通过执行脚本时传入该参数
        def build_target_name = "cae-demo-1.0-SNAPSHOT.jar"
     
        stage('Clone sources') {
            git branch: branch_name, credentialsId: credentials_id, url: git_url
        }
        stage('Build') {
            // 构建jar包
            sh "'$maven' clean package -Dmaven.test.failure.ignore=true"
        }
        stage('deploy') {
            // 执行脚本,使用构建产物升级CAE组件,超时时间5分钟
    sh "timeout 300s '$deploy_shell' '$build_target_name'"
        }
    }
    • 流水线脚本运行时会调用deploy.sh,该脚本详细说明参见deploy.sh脚本说明
    • 设置脚本文件deploy.sh为可执行文件。

support.huaweicloud.com/bestpractice-cae/cae_05_0015.html