https://blog.csdn.net/baidu_38432732/article/details/80499898
https://www.cnblogs.com/hellxz/p/jenkins_install_plugins_faster.html
https://blog.csdn.net/qq_28911061/article/details/105736129
https://blog.csdn.net/qq_21768483/article/details/80177920
https://blog.csdn.net/qq_23603437/article/details/82885375
https://mp.weixin.qq.com/s/nkH30jeetY5sG9RTQyNnJA
原理
准备工作
安装jdk1.8
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113374902
安装maven
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113375088
安装tomcat
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113375539
安装svn服务器
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113375793
安装jenkins
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113394187
svn+jenkins+maven构建项目
idea新建webapp maven项目
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113373732
jenkins新建任务
新建maven项目
添加svn地址和账号密码
输入maven命令
或者用该插件也行
构建后的操作
要是没有这个选项插件那边需要下载,搜索Deploy就行了
工作空间查看构建后war包的地址
构建触发器
远程触发的基本原理是 SVN 服务器给 Jenkins 项目特定的 URL 地址发送请求, 但必须以请求参数的形式携带一个特定值,这个特定值就是这里的“身份验证令牌”。
那我们的url是
http://39.108.119.121:8080/jenkins/job/two_web/build?token=ATGUIGU_TOKEN
浏览器访问可以直接构建
获取 crumb 值
访问该URL
@之前是jenkins的账号和密码
http://admin:1bd726ee1c964a14a9ccefac0f0bf6d8@39.108.119.121:8080/jenkins/crumbIssuer/api/xml
则触发 Jenkins 远程构建时需要携带的请求消息头就是:
Jenkins-Crumb:ac328a20401618878c0c18d5f12572e3a1b4473214ecf5e7bc9416c163c4e386
Linux 的 curl 命令
Linux 的 curl 命令用来发送 HTTP 请求。
-X 参数:指定请求方式
-v 参数:显示响应结果
-u 参数:携带用户名/密码
-H 参数:携带请求消息头信息
示范:
curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息" http://[服务器 IP 地址]:[服务器端口 号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌]
我的
curl -X post -v -u admin:1bd726ee1c964a14a9ccefac0f0bf6d8 -H "Jenkins-Crumb:5e909869d0c1266a1d1edc6de0052a690858ee64cfdcd89ccdd9622e6b8257f3" http://39.108.119.121:8080/jenkins/job/two_web/build?token=ATGUIGU_TOKEN
如果jenkins和svn同一架机器,可以用内网网址
编辑 SVN 版本库中的钩子程序
钩子程序由 post-commit.tmpl 复制得到
程序路径,在仓库中的hooks文件夹中
/svn/dev_test/hooks
- 这里注意不要使用任何扩展名。如果按照我们习惯的使用.sh 扩展名则钩 子程序无法正常工作。
- 记得使用 chmod 命令设置为可执行权限
把原有内容注释,加入 curl 命令
curl -X post -v -u admin:1bd726ee1c964a14a9ccefac0f0bf6d8 -H "Jenkins-Crumb:5e909869d0c1266a1d1edc6de0052a690858ee64cfdcd89ccdd9622e6b8257f3" http://39.108.119.121:8080/jenkins/job/two_web/build?token=ATGUIGU_TOKEN
立即构建
这里可以先试试立即构建看看是否有没有啥问题
svn提交代码构建
如果立即构建没问题,试试提交本地提交svn代码,提交之后,jenkins会自动构建
浏览器访问项目
构建成功后,浏览器访问项目,路径就是jenkins配置的项目路径
补充
如果发生 Jenkins 服务器从 SVN 服务器下载代码不是最新版的情况,那么就在 SVN 服务器的 URL 地址后面加上@HEAD 强制要求下载最新版。
码云gitee+jenkins+maven构建
该资料来源:https://blog.csdn.net/qq_28911061/article/details/105736129
官网插件教程:https://gitee.com/help/articles/4193#article-header11
官网已经很详细了。
Jenkins安装插件:
git client
git
gitee
1.安装git
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113394955
2.jenkins配置git工具
3.Jenkins 【系统配置】添加gitee服务
Gitee API Token 输入你的 Gitee 私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens
4.项目配置
General 配置之前配置的gitee服务连接
源码管理配置安装官方那样配置
点击 Advanced 按钮, Name 字段中输入 origin, Refspec 字段输入 +refs/heads/:refs/remotes/origin/ +refs/pull//MERGE:refs/pull//MERGE
origin
+refs/heads/*:refs/remotes/origin/* +refs/pull/*/MERGE:refs/pull/*/MERGE
触发器勾选webhook
重要的是要配置webhook密码,点击生成按钮
触发器暂时默认配置,
然后配置密码
经过测试,密码一定要配置,不然就会出现404问题
如果内网的话可以配置花生壳代理
其他项目配置(例如maven和构建后的操作)可参考:svn+jenkins+maven构建项目
git+jenkins+maven配置
资料来源:https://blog.csdn.net/qq_21768483/article/details/80177920
https://blog.csdn.net/qq_23603437/article/details/82885375
安装git
参考文章:https://blog.csdn.net/sinat_28317385/article/details/113394955
jenkins配置git工具
配置
启动自动构建,Jenkins需要在Hook URL中监听Github的Post请求,才会进行自动构建
要获取Jenkins的Hook URL,打开Jenkins首页控制台–》系统管理
在Github插件的配置中,点击“高级”按钮
启用Hook URL,并将Hook URL复制出来,并保存刚才的设置
第二步:配置Github项目仓库
还需要配置Github项目仓库,因为Github经常有代码处理动作,需要配置Github项目仓库在处理这些动作的同时会发送信号至Jenkins,才使用Jenkins自动构建
在"Webhooks"选项卡中,点击"Add webhook"
将在Jenkins生成的Hook URL填入至Payload URL中,另外,选择自主事件
保存WebHook之后
第三步:配置Jenkins项目
其他配置
邮件配置
参考:
https://blog.csdn.net/baidu_38432732/article/details/80499898
https://www.cnblogs.com/yangxia-test/p/4366172.html
jmeter+Jenkins自动化性能测试高级用法
资料来源:https://mp.weixin.qq.com/s/nkH30jeetY5sG9RTQyNnJA
问题背景
- 前两天,自己在搭建好了jmeter+Jenkins自动化性能测试后思考,若有时候我们需要修改并发数、测试时长或者请求地址变了之类的,难道我们需要一个个的去修改脚本么?有么有更加便利的方法?
解决方法
- 利用Jmeter 命令行下动态化参数传递和Jenkins的build with parameter。(大家有更好的方法,欢迎大家公众号里微我,分享出来一起进步)
具体操作
- 我们知道JMeter测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行使用 -J 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值。
1、编写jmx脚本
在需要动态化参数的地方按照如下方式填写,此处是对线程数和持续时间进行了定义。
2、用命令行运行时候增加如下选项。
-JthreadCount=${thread_num}为脚本指定的线程数
其中thread_num变量值可以动态的从Jenkins页面自己填写。
-Jduration=${test_time}为测试计划要指定的测试时长
其中test_time变量值可以动态的从Jenkins页面自己填写。
3、配置Jenkins的build with parameter
安装插件build with parameter
这样每次构建都可以动态的传递参数值了,不用再手工去修改脚本。
4,简要验证
经过上面的配置后,接下来进行简要验证,配置是否正确。大家在点击build with parameter按钮后,弹出如下对话框,在这里我填写的线程数目是15,测试时长是30s
点开构建运行时的控制台输出,可以看到,jmeter命令行正确的获取了前面填写的线程数值和测试时长。OK,大功告成!!!
Jenkins技巧:如何停止、重启、重载Jenkins
http://localhost:8080/restart # 重启
http://localhost:8080/reload # 重载Jenkins配置信息
http://localhost:8080/exit # 停止Jenkins服务器
pipeline
参考:
https://mp.weixin.qq.com/s/98-8_BG1DjOZncUhqBkmEQ
https://www.cnblogs.com/shenh/p/8963688.html
https://mp.weixin.qq.com/s/4MF8UODv_ZFQqqh4VuMRVw