jenkins
爷来辣
个人笔记,快乐运维。
展开
-
[jenkins]-jenkins流水线根据是否是定时触发执行部分stage
导语:jenkins 流水线有个.git比较大的job,还在测试阶段,经常1个多月不部署,导致job里下载的git等被清理。这个 Stage 配置定时构建,即每周一次。其他 Stage 并没有配置构建触发器,所以不会受到定时构建的影响。要在 pipeline 中实现这个功能,您需要在 pipeline 脚本中添加。语句来限制只有指定的模块或路径中的代码更改时才执行对应的构建操作。希望这个示例能够帮助您实现 pipeline 定期构建的需求。希望这个示例能够帮助您实现针对 Stage 的定时构建需求。原创 2023-04-17 17:43:48 · 743 阅读 · 0 评论 -
[问题已处理]-jenkinsfile判断参数是否包含字符串进行条件构建
jenkins原创 2022-10-15 15:23:26 · 1408 阅读 · 0 评论 -
[jenkins]-jenkins使用node镜像构建前端服务
jenkins原创 2022-08-27 13:24:35 · 730 阅读 · 0 评论 -
[问题已处理]-jenkins中使用grep来做退出判断
jenkins原创 2022-08-27 13:23:24 · 822 阅读 · 0 评论 -
[jenkins]-jenkins使用docker镜像进行编译构建
jenkins原创 2022-07-30 15:12:32 · 1477 阅读 · 0 评论 -
[问题已处理]-jenkins流水线checkout超时
jenkins原创 2022-07-30 15:10:49 · 1351 阅读 · 0 评论 -
[问题已处理]-jenkins传统打包交付流程优化
笔记原创 2022-07-16 13:23:35 · 352 阅读 · 0 评论 -
jenkins pipeline下载代码到指定workspace
jenkins workspace原创 2022-07-16 13:18:08 · 2242 阅读 · 0 评论 -
[jenkins]-流水线循环输出text parameter中的每一行
jenkins text parameters原创 2022-07-16 13:03:11 · 466 阅读 · 0 评论 -
[问题已处理]-jenkins 流水线git下载10分钟超时
jenkins 流水线git下载10分钟超时原创 2022-06-17 23:12:05 · 2045 阅读 · 0 评论 -
[jenkins]-jenkins发布内容归档到wiki
jenkins归档发布信息到confluence wiki原创 2022-06-17 23:10:45 · 346 阅读 · 0 评论 -
[问题已处理]-jenkins配置ldap后忘记ldap server的密码了
导语:先前通过ldap设置了jenkins登录,因为历史原因已经不知道ldap的密码了。希望通过jenkins里获取一些信息。找到jenkins的配置文件config.xml中ldap对应的managerPasswordSecret,这个就是ldap的manager密码。网上找资料发现,jenkins的密码是使用hudson.util.Secret.fromString("明文密码").getEncryptedValue()加密的,而解密的话就需要使用hudson.util.Secret.fromSt原创 2021-03-31 17:42:35 · 1006 阅读 · 0 评论 -
[jenkins]-分支存在仍报错Couldn‘t find any revision to build
导语: jenkins 分支存在仍报错Couldn’t find any revision to build ,遇到过好几次怕忘记 记录一下产生的原因是开发重命名了分支。需要清理工作目录解决需要在工作空间选项下面 清理工作空间再发布测试...原创 2020-11-08 17:28:08 · 4337 阅读 · 0 评论 -
[jenkins]-jenkins上传文件至oss bucket
起因: 前端发布h5 都是打好包交给运维,项目多的话通过oss browser切换bucket也麻烦。想通过jenkins发布,并规范发布流程。创建一个测试的oss bucket方法1 使用jenkins插件Aliyun-OSS-Plugin1 测试文件夹不存在jenkins的构建前shellcd ${WORKSPACE} mkdir -p opt/testtouch opt/test/{1.txt,2.txt}echo 1 >> opt/test/1.txt结果:会自原创 2020-09-28 22:36:56 · 2990 阅读 · 2 评论 -
[kubernetes]-kubernetes部署jenkins编译发布pipeline项目
1 创建jenkins-master镜像资源下载地址:链接: https://pan.baidu.com/s/1WUk8CTVkKYPGNz_ufDKtPw 密码: 1n94如果资源有问题 可以直接下官方镜像 然后从里面scp出来需要如下文件 jdk安装包 tomcat 里面包含需要的jenkins的war包 名称为1 ROOT.war2 Dockerfile3 settings.xml(如果不需要在master上编译的话 不要也没关系)4 .ssh 文件 用于下载ssh 的git原创 2020-08-31 21:45:44 · 2090 阅读 · 0 评论 -
[kubernetes]-kubernetes中部署jenkins及slave并简单使用
安装nfs做持久化存储,我这里是拿原来的jenkins服务器做了。因为有些插件 maven仓库和依赖包要挂载,复制来复制去不方便。如果是新的jenkins,就随意了。# 安装nfs 并挂载共享目录/root/.m2 /usr/share/maven /root/.jenkins yum install -y nfs-utilsecho "/root/.m2 192.168.0.0/16(rw,no_root_squash,sync)" >>/etc/exportsecho "/usr原创 2020-08-28 23:55:57 · 1889 阅读 · 0 评论 -
[jenkins]-pipeline构建完成后在build description输出url地址
需求: 开发想要在构建的描述里 输出这次构建跳转的的url在pipeline中添加一条// <br/> 用于换行 OSS_URL 一个是跳转url 一个是显示在页面上的地址 需要保持一致buildDescription "${HTTPD_LOCATION} <br/>${BUILD_USER}此次部署项目:${BUILD_ENV} <br/> <a href=${OSS_URL}>${OSS_URL}</a> " // Using原创 2020-08-22 12:50:55 · 2603 阅读 · 1 评论 -
[jenkins]-pipeline同时发布多个项目并显示各个项目的流程耗时
需求: 想把服务里面的各个模块的构建时间显示出来。jenkins pipeline如下// Using git without checkout pipeline { agent any parameters { gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'Branch', sortMode: 'DESCENDING_SMART', type: 'PT_BRANCH' ,listSi原创 2020-08-22 12:50:31 · 1627 阅读 · 0 评论 -
[golang]-go获取jenkins对应job的config.xml数据
需求: 想通过获取job的config.xml 再通过正则获取到job的git地址信息,存储到数据库。直接jenkins界面访问job的xml如下获取xml的主要代码,只用了1个job举例getConfig.gopackage apiimport ( "fmt" "github.com/bndr/gojenkins" // "fmt" // "github.com/bndr/gojenkins")type UrlController struct { BaseControll原创 2020-08-20 15:28:37 · 1084 阅读 · 0 评论 -
[golang]-go读取jenkins所有job存入数据库
需要引用的包“github.com/bndr/gojenkins”实现的功能是请求localhost:8080/alljobs 会请求对应jenkins,把里面的Job Names, Color, URL存储到数据库中,如果job名称已经存在,则只更新一下时间。// 请求job的结果如下// test-yjknode http://192.168.1.171:7070/job/test-yjknode/ blue// xujiamin-test http://192.168.1.171:7070/原创 2020-08-20 15:27:50 · 872 阅读 · 0 评论 -
[jenkins]-Execute shell 在部署项目前先判断是否需要杀死jacoco进程
自己做个笔记 经常要用到,却经常找不到文件在哪要重新写一次不做判断 进程不存在时 会kill 空 然后报错#!/bin/bashecho 1 JacocoPid=`ssh 192.168.1.193 "ps -ef | grep 6301 |grep jacocoagent |grep -v grep |awk '{print \\$2}'"`echo JacocoPid $JacocoPidif [ "$JacocoPid" == '' ];then echo JacocoPi原创 2020-08-15 09:29:10 · 642 阅读 · 0 评论 -
[问题已处理]-jenkins使用Editable Email Notifaction 报错retrying once more in 10 seconds
jenkins 配置使用自定义邮件模版 报错如下使用的是Editable Email Notifaction 报错retrying once more in 10 seconds需要修改配置下的 Extended E-mail Notification里的邮箱配置 。我自己就是仅仅修改了配置下面的邮件配置居然还有多个配置需要修改 不是统一邮件配置。配置完成之后即可发送成功...原创 2020-07-23 11:35:31 · 870 阅读 · 0 评论 -
[问题已处理]-jenkins配置邮件报错500 bad syntax
配置jenkins 邮件通知的时候 明明配置都没有填错 但提示下面错误修改mail的配置之后 发送邮件也没问题(忽略证书问题)确认收到邮件后面发现是下面的问题 管理员邮箱地址和邮箱配置的发件地址要一致。。注意, 用户密码是发送方邮件地址的用户密码, 用户名必须和 系统管理员邮件地址一致。配置成一致之后 点击测试就没问题。收到邮件其他500+错误可参考https://www.cnblogs.com/FlyAway2013/p/7504389.html...原创 2020-07-23 11:32:43 · 1461 阅读 · 0 评论 -
[jenkins]-jenkins部署go项目
首先在jenkins服务器安装go的编译环境cd /tmpwget https://golang.google.cn/dl/go1.14.4.linux-amd64.tar.gztar -C /opt -zxvf go1.14.4.linux-amd64.tar.gzcd /opt/go/bin./go versionln -s /opt/go/bin/go /usr/bin/# 查看go的参数go env创建jenkins job 我这里使用自由风格的项目在General原创 2020-07-02 22:54:35 · 4400 阅读 · 0 评论 -
[问题已处理]-jenkins构建一次job会触发重复构建多次任务
今天同事部署单个项目的时候 会触发2个构建。如图查看job的输出日志 发现是系统自动触发的进入jenkins的workspace 查看分支 发现有2个类似的分支 但是去git上看 分支却只有一个,怀疑是开发部署了一次之后 修改了分支名导致。修改job的配置文件 删除workspace再次构建测试 问题解决...原创 2020-06-25 11:06:42 · 3918 阅读 · 0 评论 -
[jenkins]-jenkins 使用Goovy Postbuild 显示此次构建的分支
jenkins 使用Goovy Postbuild 显示此次构建的分支首先在构建后操作加上Goovy Postbuild在Goovy Script里加入如下 Branch是代码分支的参数if(manager.build.result.isBetterOrEqualTo(hudson.model.Result.UNSTABLE)) { manager.addShortText("${manager.build.buildVariables.get('Branch')}")}保存后进行原创 2020-06-18 08:11:53 · 666 阅读 · 0 评论 -
[jenkins]-流水线发布dubbo服务并配置健康检查
[jenkins]-流水线发布dubbo服务并配置健康检查dubbo admin 需要账号密码登录进去看 每次发布都是一半一半发 经常发了一半忘记了,而且通过人工查看dubbo a。dmin 下的状态有点蠢,打算自动化掉。健康检查 靠shell命令去做 然后通过result 判断是否发布成功result=`(sleep 1;echo "status" ;sleep 1 ) | telnet $deploy_server $dubbo_port `测试环境写的有点粗糙 勿喷。可以帮忙优化一原创 2020-06-13 17:46:43 · 2270 阅读 · 0 评论 -
[jenkins]-pipeline 修改build name 和 description
[jenkins]-pipeline 修改build name 和 description效果如下流水线脚本写的有点粗糙哪里修改build name 和 description 均备注了// Using git without checkout pipeline { agent any parameters { gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'Branch', sor原创 2020-06-13 17:45:13 · 4112 阅读 · 1 评论 -
[jenkins]-pipeline流水线使用git parameter 选择发布分支
[jenkins]-pipline流水线使用git parameter 选择发布分支近期新公司打算把jenkins 调整一下 因此想把原来的项目放到pipline里,其中有一个git parameter 很是头痛,找到的资料都不是很对,不是语法错误就是配置不对。现在终于搞好了,特地记录一下,免得后面要用忘记了。效果如下[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WpPidoHc-1591792462915)(https://gitee.com/jiaminxu/Bl原创 2020-06-10 20:35:02 · 10667 阅读 · 5 评论 -
[问题已处理]jenkins构建前端项目成功但是nginx报错403
[问题已处理]jenkins构建前端项目成功但是nginx报错403起因是从旧版本迁移任务到新版本导致 出错jenkins版本:2.199同样的job 在老jenkins上构建没有问题 但是新的jenkins 构建成功之后就会403检查之后发现jenkins构建出来的静态文件权限存在差异 不清楚是不是这个版本独有的bug还是说较新版本对文件安全性的要求更高了,原先的老环境和生产环境权限是没有问题的。2.199版本jenkins构建出来的文件的权限7502.199版本jenkins所在服务器手动构原创 2020-05-26 16:45:03 · 1501 阅读 · 1 评论 -
[jenkins]-jenkins隐藏插件告警信息
jenkins系统管理界面出现如下提示担心别的同学会忍不住升级 导致插件版本不兼容 或者jenkins服务重启 因此打算把它隐藏掉把这些选项勾掉就可以原创 2020-05-11 21:53:54 · 1506 阅读 · 0 评论 -
[jenkins]-jenkins配置ldap认证
近期打算把公司各个环境 各个地区发布的jenkins以及账号进行统一因此将jenkins加入ldap首先选择 系统设置 > 全局安全配置修改安全域为LDAP 并填写域控的信息公司的域控是linux 可以用下面命令查看域控信息ldapsearch -LLL -W -x -H ldap://127.0.0.1:389 -D "cn=admin,dc=ihaozhuo,dc=com" -b "ou=Group,dc=ihaozhuo,dc=com"ldap命令可参考https://blo原创 2020-05-11 21:53:00 · 8487 阅读 · 0 评论 -
[jenkins]-jenkins使用description setter输出部署用户和提交信息
需要实现上述功能需要安装以下2个插件user build vars #定义名称全局变量description setter #自定义描述信息user build vars由于之前项目 各个环境是同一个job发的,测试 运维的权限需要不同。避免测试发生产分支,可以用这个插件进行判断。execute shell如下#!/bin/shuser=$BUILD_USER_ID if [ ...原创 2020-04-30 14:36:15 · 2231 阅读 · 0 评论 -
[jenkins]-批量修改配置的插件 Configuration Slicing Plugin
首先安装插件Configuration Slicing Plugin在manage jenkins下找到Configuration Slicing进入Configuration Slicing 可以看到很多可以批量修改的选项Timestamper Slicer可以看到哪些job没有添加时间输出 加上之后可以更好的发现哪个流程较慢 进行优化直接把下面这个剪切到true对应的那一列保...原创 2020-04-30 09:51:44 · 1874 阅读 · 1 评论 -
[jenkins]-AnsiColor插件使控制台输出带上颜色
jenkins插件AnsiColor 使控制台输出支持颜色有了颜色支持 我就可以不用emoji表情 来显示是否发布成功了1 安装AnsiColor 并重启2 配置jenkins在构建环境下 勾选Color ANSI Console Output3 脚本输出在构建下添加Execute shell 内容如下#!/bin/bashsource /etc/profile##set c...原创 2020-04-29 22:20:50 · 3086 阅读 · 0 评论 -
[问题已处理]-jenkins主从编译报错
开发反馈 Jenkins 部署报错Jenkins的job配置如下同一个job 用jenkins插件迁移过来,在master上能部署,但是slave上不能部署.服务器上直接编译不会报错.直接执行java -version 也没问题在部署脚本里 添加source /etc/profile 也没有解决.最后添加java的...原创 2019-12-10 22:56:04 · 308 阅读 · 0 评论 -
[问题已处理]-jenkins开启普通用户的api token
由于想开通普通管理员的api token ,但是界面上又不能生成.在全局配置里 设置登陆jiaminxu 查看自己的api token原创 2019-12-10 22:55:37 · 1861 阅读 · 0 评论 -
[jenkins]-jenkins输出emoji表情
Execute shell执行shell会有sh -x的效果 如下所示可以在“Execute shell”构建步骤中首行添加#!/bin/sh现在让我解释一下为什么我们需要这行“Execute Shell”构建作业的原因。默认情况下,Jenkins采取/bin/sh -xe这种方式-x将打印每一个命令。另一个选项-e,当任何命令以非零值(当任何命令失败时)退出...原创 2019-11-20 21:26:03 · 643 阅读 · 0 评论 -
[jenkins]-jenkins使用nfs共享maven仓库
目的:生产环境编译比较耗时,打算使用slave进行编译构建.但是项目的基础模块会有依赖性,A依赖B,如果使用传统的上下游或者主从方式,容易造成B在master上构建了,但是A是在slave上构建的,导致slave上的A打的依赖包不是最新的.为了解决这个问题,打算使用nfs 共享.m2和maven_home百度到的M2和MAVEN_HOME的差别MAVEN_HOMEi...原创 2019-11-20 21:25:33 · 1079 阅读 · 0 评论 -
[jenkins]-shell脚本批量触发jenkins构建
一般收到的发布邮件如下2种直接邮件里复制 并黏贴到linux的2.txt文件中cat 出来 没有这个<200b>通过脚本筛选发布项目名 并去掉版本号执行发布脚本如下模拟基础模块部署失败的情况 会停止后面的部...原创 2019-11-15 21:26:02 · 1906 阅读 · 0 评论