应用管理与运维平台 SERVICESTAGE-配置流水线构建任务:配置流水线脚本

时间:2023-12-01 14:28:14

配置流水线脚本

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

表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。

upgrade_shell

String

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

  1. 完成“构建触发器”配置之后,在“流水线”页签,在下拉框选择“Pipeline script”。
  2. 配置流水线脚本,示例中使用的是构建jar包场景,脚本如下:

    请使用您环境下的实际参数替换脚本中的参数变量。
    node {
        // 定义代码仓库地址,例如:http://10.95.156.58:8090/zmg/test.git
        def git_url = '{代码仓库地址}'
        // Gitlab凭据id
        def credentials_id = '{Gitlab凭据id}'
        // git代码仓库分支名称,例如:main
        def branch_name = '{git代码仓库分支名称}'
        // maven安装的可执行文件路径,例如 :/root/app/maven/apache-maven-3.8.6/bin/mvn
        def maven = '{maven安装的可执行文件路径}'
        // upgrade.sh脚本存放路径,例如:/root/jar/upgrade.sh
        def upgrade_shell = '{upgrade.sh脚本存放路径}'
    
        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 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true"
        }
        stage('upgrade') {
            // 执行脚本,使用构建上传到obs的jar包升级ServiceStage组件,超时时间5分钟
            sh "timeout 300s '$upgrade_shell'"
        }
    }
    • 流水线脚本运行时会调用upgrade.sh,该脚本详细说明请参见upgrade.sh脚本说明
    • 设置脚本文件upgrade.sh为可执行文件。

support.huaweicloud.com/bestpractice-servicestage/servicestage_05_0031.html