1.1 Pipeline控制台输出前加时间戳
1.Jenkins安装Timestamper
插件。

2.开启pipeline的Timestamper插件功能
Manage Jenkins
–> Configure System
–> Timestamper
–> Enabled for all Pipeline builds


3.构建一个Pipeline验证日志是否有时间戳

1.2 去掉pipeline中shell命令的调试信息
在Jenkins的Console Output中有时会看到‘+’开头的shell命令调试信息,看起来比较混乱。原因是Jenkins默认用‘-xe’的选项去运行‘sh’命令。例如如下pipeline的输出。

1.我们在pipeline脚本中一个sh处理函数
1 2 3
| def mysh(cmd) { sh('#!/bin/sh -e\n' + cmd) }
|
2.将pipeline脚本中原来使用sh来执行的shell命令,替换成我们新建的mysh函数

3.再次构建验证是否还有调试信息,类似于+号的内容

1.3 Jenkins同一个项目拉取两个git仓库代码
安装插件:Multiple SCMs
自由风格Job配置:

Pipeline脚本配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| pipeline { agent any environment{ PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/Users/putianhui/Downloads/gradle-6.2/bin/:/Users/putianhui/Downloads/flutter/bin/" } stages { stage('1.拉取代码') { steps { //配置构建的分支 checkout([$class: 'GitSCM', branches: [[name: 'lee_dev']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'android-client']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${git_auth}",url: 'http://172.23.1.57:8082/gitlab/flutterend/android-client.git']]]) checkout([$class: 'GitSCM', branches: [[name: 'devsecond']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'NewGratus']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${git_auth}",url: 'http://172.23.1.57:8082/gitlab/flutterend/NewGratus.git']]]) } } } }
|