概述
今天主要分享下怎么用jenkins去创建job,大致流程如下:
一、常规设置
1.点击新建,进入新建项目页面
![c98d63febfe06a150d7ef23cf1db3e78.png](https://img-blog.csdnimg.cn/img_convert/c98d63febfe06a150d7ef23cf1db3e78.png)
2.输入项目名称
大多数项目都是maven项目,但是第一次安装都是找不到maven项目选项的,如果要勾选maven项目,记得安装maven插件就可以了。
![307b9cbf9f034883a1efa1f483929acf.png](https://img-blog.csdnimg.cn/img_convert/307b9cbf9f034883a1efa1f483929acf.png)
3.项目名称与描述
![7d47faf168a67b0c636596f633ec9521.png](https://img-blog.csdnimg.cn/img_convert/7d47faf168a67b0c636596f633ec9521.png)
4.github project
里面配置响应的url和需要显示的名称就可以了
![b1d02f59b7d46396d849cdaf2003dce2.png](https://img-blog.csdnimg.cn/img_convert/b1d02f59b7d46396d849cdaf2003dce2.png)
5.throttle builds
节流构建,通过设置时间段内允许并发的次数来实现构建的控制
![3bfb941760a1845f20d9c948b8db81b8.png](https://img-blog.csdnimg.cn/img_convert/3bfb941760a1845f20d9c948b8db81b8.png)
6.丢弃旧的构建
设置构建历史的保存策略
![50ff65c23ce0ad861f0dc4d734de96ee.png](https://img-blog.csdnimg.cn/img_convert/50ff65c23ce0ad861f0dc4d734de96ee.png)
7.参数化构建过程
里面可以配置不同的参数,便于在构建时引用这些参数
![9de3ba16a7e91a31a604200d5fc4f283.png](https://img-blog.csdnimg.cn/img_convert/9de3ba16a7e91a31a604200d5fc4f283.png)
8.关闭构建
这样项目就没法进行构建了
在必要时进行并发构建:满足策略要求时就会进行并发构建
安静期:设置一个时间来间隔每次构建的间隔
重试次数:这个和系统设置的一样,拉取源码重试的次数
该项目的上游项目正在构建时阻止该项目构建与该项目的下游项目正在构建时阻止该项目构建:用于上下游项目有关联的构建策略
使用自定义的工作空间:使该项目独立于系统的工作空间
保留构建的依赖日志
![0a2a36333d4ec6c1bc40834ed6fe3b51.png](https://img-blog.csdnimg.cn/img_convert/0a2a36333d4ec6c1bc40834ed6fe3b51.png)
二、源码管理
以svn为例
![2d119b158fa5e3812b58949927e2bbdd.png](https://img-blog.csdnimg.cn/img_convert/2d119b158fa5e3812b58949927e2bbdd.png)
说明:
- repository url:填写仓库的地址
- Credentials:这里需要配置拉取svn源码的用户名和密码
- Local module directory:具体的项目的路径,默认从根目录拉取
- Additional Credentials:增加额外认证
- Check-out Strategy:代码检出策略
- 源码库浏览器:这里默认就可以了
三、构建触发器
1.触发远程构建 (例如,使用脚本):这里使用于自动化构建,拼接url后写入代码中可以实现在脚本或者工具执行构建
![13bc851beb18c905d4cbf4c9706577f9.png](https://img-blog.csdnimg.cn/img_convert/13bc851beb18c905d4cbf4c9706577f9.png)
2.Build after other projects are built:构建与其他项目构建后,用于上下游项目有关联的时候
![574435ffb69b6fc673aec1e39022e3dd.png](https://img-blog.csdnimg.cn/img_convert/574435ffb69b6fc673aec1e39022e3dd.png)
3.Build periodically:定时执行构建
日程表的参数
- 第一个参数代表的是分钟 minute,取值 0~59;
- 第二个参数代表的是小时 hour,取值 0~23;
- 第三个参数代表的是天 day,取值 1~31;
- 第四个参数代表的是月 month,取值 1~12;
- 最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
![b47015177ec744855fe65ecff46081ec.png](https://img-blog.csdnimg.cn/img_convert/b47015177ec744855fe65ecff46081ec.png)
4.Build when a change is pushed to GitHub:这个是github项目的触发规则
![60055284eb944b5a52574455d3688ce0.png](https://img-blog.csdnimg.cn/img_convert/60055284eb944b5a52574455d3688ce0.png)
5.Poll SCM:设置定时检查代码仓库是否有变更,有变更则构建
![be9329c69eced044a2fd3d002f8b0d5c.png](https://img-blog.csdnimg.cn/img_convert/be9329c69eced044a2fd3d002f8b0d5c.png)
四、构建环境
![7b1a7e106ffee8280bf138fd43c94f9f.png](https://img-blog.csdnimg.cn/img_convert/7b1a7e106ffee8280bf138fd43c94f9f.png)
说明:
- Use secret text(s) or file(s):使用密码文件
- Add timestamps to the Console Output:给控制台输出增加时间戳
- Use secret text(s) or file(s):使用加密文件或者文本
五、构建
1.execute windows batch command:执行windows的cmd
![a8519479392e394949d5e69f705c9dd1.png](https://img-blog.csdnimg.cn/img_convert/a8519479392e394949d5e69f705c9dd1.png)
2.execute shell:执行shell命令
![03c1f8c3834643de2fdd913c816e2984.png](https://img-blog.csdnimg.cn/img_convert/03c1f8c3834643de2fdd913c816e2984.png)
3.invoke ant:调用ant ,调用ant的执行脚本来进行构建
![2e73d812a42038fe30dcfaeba8d786eb.png](https://img-blog.csdnimg.cn/img_convert/2e73d812a42038fe30dcfaeba8d786eb.png)
4.invoke gradle script :调用grade脚本,来帮助我们自动打包
![5015bef5acec540786c445f3ea89b3a0.png](https://img-blog.csdnimg.cn/img_convert/5015bef5acec540786c445f3ea89b3a0.png)
5.invoke top-level maven targets:调用maven
![896c5d11005f77de336c60d3bb4cbbd7.png](https://img-blog.csdnimg.cn/img_convert/896c5d11005f77de336c60d3bb4cbbd7.png)
六、构建后操作
简单介绍下常用的几个选项
- build other projects:构建其他项目
- e-mail notification:发送邮件
- editable email notification:发送邮件(这是一个插件,以后会单独介绍这个插件)
- delete workspace when build is done:构建后删除工作空间
![47ec0069bbb858df5a331101e4527ff7.png](https://img-blog.csdnimg.cn/img_convert/47ec0069bbb858df5a331101e4527ff7.png)
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
![27057580f271daf2c67800ab3cd30391.gif](https://img-blog.csdnimg.cn/img_convert/27057580f271daf2c67800ab3cd30391.gif)