jenkins
liurizhou
这个作者很懒,什么都没留下…
展开
-
jenkins: pass multiple “Extended Choice Parameter“ values using a URL
代码】jenkins: pass multiple "Extended Choice Parameter" values using a URL。原创 2022-08-10 17:50:20 · 205 阅读 · 0 评论 -
pipeline 获取junit之后的状态
def reset_build_result() { def result = '' AbstractTestResultAction testResultAction = currentBuild.rawBuild.getAction(AbstractTestResultAction.class) if (null != testResultAction) { def total = testResultAction.totalCount def.原创 2022-03-31 21:26:07 · 413 阅读 · 0 评论 -
Jenkins pipeline中Json 处理的一个demo
import jenkins.model.*import hudson.model.*import hudson.slaves.*import groovy.json.*buildInfo = [:]pipeline { agent any stages { stage('Hello') { steps { script { buildEnv='ubuntu-18.04原创 2022-03-04 11:18:10 · 1348 阅读 · 0 评论 -
Ubuntu环境下设置Jenkins的Jvm
$ sudo vim /etc/default/jenkins# 找到下面部分:#JAVA_ARGS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true -Dmail.smtp.ssl.protocols=TLSv1.2"JAVA_ARGS="-Xmx8192m -XX:MaxPermSize=4096m -Djava.awt.headless=true -Dmail.smtp.starttls.enable=true -Dmail..原创 2022-01-07 13:45:29 · 1344 阅读 · 0 评论 -
如何强制kill jenkins jobs progress
对于一些僵尸build,无法通过手动点击kill build,该如何处理?"Manage Jenkins" > "Script Console"第一种: def build = Jenkins.instance.getItemByFullName("xxxxx").getBuildByNumber(26522) build.doStop() build.doKill() 第二种:强制杀除线程 Thread.getAllStackTraces(原创 2021-11-25 11:52:59 · 1067 阅读 · 0 评论 -
Jenkins pipeline 获取指定路径下的文件列表
转自:获取Jenkinsfile(Groovy)中给定文件夹中的文件名列表node { // ... check out code, whatever final foundFiles = findFiles(glob: 'dockerfiles/**/*') // do things with FileWrapper[]}另一种选择是掏空并捕获标准:node { // ... check out code, whatever final foundFiles = s转载 2021-11-03 15:18:13 · 3950 阅读 · 0 评论 -
shell 命令触发Jenkins job
调用Jenkins api, 例如:curl -v -X POST http://xxxx:8888/job/${JOB}/buildWithParameters \--user user:passwd \--data name='zhou'原创 2021-10-08 17:55:06 · 937 阅读 · 2 评论 -
如何给Jenkins添加System properties
临时设置:在script console中执行:System.setProperty("org.csanchez.jenkins.plugins.kubernetes.pipeline.ContainerExecDecorator.websocketConnectionTimeout", "180")如果想永久设置参数,则需要在/etc/default/jenkins 中添加参数例如:JAVA_ARGS="-Djava.awt.headless=true -Dmail.smtp.sta.原创 2021-07-29 17:55:46 · 1188 阅读 · 0 评论 -
当github PR有更新触发Jenkins,停止之前触发的Jenkins build
为了节省资源,需要在github pr更新后停止掉之前触发但还在运行的build.Pipeline中加入下面方法,并在Pipeline中一开始加上cancelPrPreviousBuilds()需要在Manage Jenkins-->scriptApproval中approve相关授权。def cancelPrPreviousBuilds() { def jobName = env.JOB_NAME def buildNumber = env.BUILD_NUMBER.t原创 2021-06-30 15:32:52 · 433 阅读 · 0 评论 -
Jenkins 常用插件清单
pipeline语法:https://www.jenkins.io/zh/doc/book/pipeline/syntax/ 序号 pipeline 命令或者config中的名称 插件名称 插件说明链接 1 findFiles() Pipeline Utility Steps https://jenkins.io/doc/pipeline/step原创 2021-06-21 09:32:56 · 4473 阅读 · 0 评论 -
Jenkins pipeline trigger extendedChoice job
def parameter="""{ "People": { "ZHOU": "5"}, "TEST": {"test1": ["aaaa"]}, "MAIL": {"receivers": "xxx@yy.com"}}"""build \ job: 'pipeline_temp1', parameters: [ extendedChoice(name: 'aaaa', value: "${parameters}") ], wai.原创 2021-05-27 10:22:30 · 442 阅读 · 0 评论 -
Jenkins pipeline:如何判断变量是否存在
if (env.CHANGE_ID) {...}或者使用whenwhen { expression { env.CHANGE_ID != null } }参考:https://stackoverflow.com/questions/45758597/can-i-check-if-environment-variable-exist-or-not-in-jenkinsfile...原创 2020-03-09 13:44:16 · 10269 阅读 · 0 评论 -
pipeline常用插件用法
pipeline 常用插件语句1、checkout SCM 可以用来下载git仓代码,还可以支持cherry pick 某个patchcheckout([$class: 'GitSCM', branches: [[name: '*/master']], userRemoteConfigs: [[url: 'http://git-server/user/repository.git']...原创 2019-01-27 20:58:43 · 11489 阅读 · 0 评论 -
Jenkins 插件开发记录
来到新公司不久,主管安排一个jenkins 插件开发的小需求给我,让我练练手,之前从未接触过相关内容,一切从0开始,做了一个月,基本完成需求上的功能,期间遇到不少困难,记录做以总结。现阶段网上相关的指导还是比较匮乏,我个人觉得比较好的方法是:参考已有插件的源码!需求大致是这样的:点击进入某次历史编译,将本次上传至Artifactory的文件copy 到Artifactory中的release...原创 2019-01-28 10:39:37 · 3907 阅读 · 0 评论 -
jenkins pipeline中获取shell命令的标准输出或者状态
工作中需要获取shell 命令的执行状态,返回0或者非0groovy语句写法为:def exitValue = sh(script: "grep -i 'xxx' /etc/myfolder", returnStatus: true)echo "return exitValue :${exitValue}"if(exitValue != 0){ 执行操作}如果grep命令执行没有报...原创 2019-01-28 10:40:10 · 23461 阅读 · 0 评论 -
jenkins 内置环境变量from jenkins(常用)
Global Variable ReferenceVariablesdockerThedockervariable offers convenient access to Docker-related functions from a Pipeline script.Methods needing a Jenkins agent will implicitly run ano...原创 2019-03-06 10:17:14 · 3315 阅读 · 0 评论 -
jenkins pipeline执行中错误: java.io.NotSerializableException: hudson.model.User
pipeline报错误的方法:其中使用到了changeLogSets = currentBuild.changeSets方法,jenkins自带的环境参数,获取repo的变化信息。def getChangeString() { MAX_MSG_LEN = 100 def changeString = "\n" echo "Gathering SCM changes"...原创 2019-03-06 15:09:57 · 2900 阅读 · 0 评论 -
jenkins pipeline执行过程中设置代理
工作中要求使用pipeline去dockerbuild多个Dockerfile,其中Dockerfile中涉及到apt-get,git clone,wget等下载操作,因为公司网络的原因,需要设置代理,在本地的机器(jenkins中的一台node)上手动操作上述步奏没有问题,查看环境变量:[root@xxxx]# export...declare -x ftp_proxy="xxx...原创 2019-03-11 18:11:16 · 1732 阅读 · 0 评论 -
Jenkins Gerrit Trigger的常见用法
最最基本的就不介绍了,例如插件下载,填写repo信息等1.repo指定目录下的修改才会(不会)triggerjob configure中设置Gerrit Trigger:Add Filepath :仅匹配目录下的修改才会triggerjenkinsbuildAdd Forbidden File path:匹配目录下的修改不会triggerjenkinsbuild...原创 2019-06-20 15:16:14 · 15274 阅读 · 0 评论 -
Scripted Pipeline 实现Declarative pipeline的类似post功能
众所周知Declarative pipeline中可以用post去实现pipeline为某个状态后执行某个动作,例如:pipeline { agent {node 'master'} stages { stage('build'){ steps { script { ...原创 2019-06-12 09:44:03 · 1520 阅读 · 0 评论 -
gerrit trigger 设置“当gerrit新建了一个patch set,终止原先patch set trigger的build
当一个gerrit链接短时间内新建了多个patchset,如果启用了gerrittrigger,就会触发多个job,往往我们只需要最新patchset的编译结果,这样会造成资源的巨大浪费。可以进行以下设置,做到当新的patchset生成,之前patch set触发的job会被禁止掉,仅仅保留最新patch set的编译job1、manage>>gerrit-trigg...原创 2019-01-27 20:56:47 · 4660 阅读 · 1 评论