Jenkins Job 类型
1.Freestyle project
这个是jenkins的根底性能,能够用它来执行各种构建工作,他只能构建在一个电脑上,如果没有太多的需要,这个job根本够用了,它蕴含了所有根底性能.
2.Pipeline
实在的工作环境有很多job,比方先编译,而后执行动态代码查看、单元测试、而后部署服务器、服务器重启、进行ui测试等。咱们须要对这些job进行一些设置将它们的上下游关系配置好。这个时候就须要pipeline配置了.具体的能够参考这篇文章
3.External job
用来监督内部执行的job.
4.Multi-configuration project
能够让job跑在不同的机器上.这个须要增加机器(节点),流程的话能够参考这篇文章
5.文件夹
这是一种能够把多个我的项目归类到一起的形式,而不是我的项目自身的类型。请留神,这并不像Jenkins仪表板上传统的“视图”选项卡那样,让你依照我的项目列表筛选。更确切地说,它就像操作系统中的目录文件夹。文件夹名称是我的项目门路的一部分。
Job配置界面
1.General:个别设置
Project name:项目名称
Description:我的项目形容,多人写作请肯定要加上
Discard old builds:该选项配置如何摈弃旧的构建
每次构建相干的文件都会保留下来,将会慢慢耗光磁盘空间,为此提供两种形式供选择:
- Days to keep builds:如果其值为非空的N,就留N天之内的构建文件
- Max # of builds to keep:如果#为非空,就公保留最多#个最近构建的相干文件
- days to keep artifcts 产品保留工夫,然而log,历史记录会保留
- builds to keep with artifacts 保留最近几个构建的产品
- This project is parameterized:能够设置用户可输出的参数,没有输出则应用默认值,有字符串,多行字符串,布尔值等能够设置.点击理解更多
- Throttle builds:设置两个build工作之间最小距离和同一个工夫内最大工作数量
- Disable this project:进行这个job,当例如源码不可用时,能够临时勾选这个进行build
- Execute concurrent builds if necessary: 如果能够会并发执行build.勾选上后.如果有足够的线程池则会并发,否则不会.并发构建会在不同的workspace中.如果用户本人设置的workspace则不会离开,这个是有危险的.
- Restrict where this project can be run: 设置是否必须在某个机器上运行.如果是分布式部署或者迁徙job,留神移除或批改此项配置
- Quiet period:配置期待未产生提交变动的工夫. 因为 jenkins检测到代码变动时,就主动立刻构建,然而有些状况下, 须要屡次提交代码到版本控制系统上,此时,可能产生代码还没残缺提交就开始构建,造成构建失败,为避免此种状况产生,能够配置值X,则jenkins会在代码变动后期待X秒,如果没在产生代码提交,才开始构建,保障稳定性。
Block build when downstream project is building:该选项当多个相关联的我的项目由一个提交所影响,然而它们必须以一个指定的程序进行构建的时候十分有用。当你抉择这个选项的时候,Jenkins将会在启动这个构建之前,实现任何上游构建Job; 例如应用pipes的时候
2.Source Code Management:源码治理
通过这里设置源码治理门路,这个与前面的轮询源码变动触发编译是成对的.不想设置或者前面有脚本能够自主治理能够抉择none
3. Build Triggers:构建触发器
- Trigger builds remotely (e.g., from scripts):内部通过url命令触发,拼接token和url就能够进行近程触发了
- Build after other projects are built:监控其余job的构建状态,触发此job.如监听代码提交,而后触发UITest,动态剖析等.
- Build periodically:定时触发.抉择 Build periodically,在 Schedule 中填写 0 .第一个参数代表的是分钟 minute,取值 0~59;第二个参数代表的是小时 hour,取值 0~23;第三个参数代表的是天 day,取值 1~31;第四个参数代表的是月 month,取值 1~12;最初一个参数代表的是星期 week,取值 0~7,0 和 7 都是示意星期天。所以 0 示意的就是每个小时的第 0 分钟执行一次构建。举个例子:每周六10点构建 0 10 6,0-0分钟, 10-10点 _-任意天 _-工作月份 6-周六, 0能够改为H.
Poll SCM:定时感知代码分支是否有变动,如果有变动的话,执行一次构建.示例:H/5 每五分钟去检查一下近程仓库,看代码是否发生变化。
GitHub hook trigger for GITScm polling:hookplugin检测到源码的push操作触发构建,感觉Poll SCM更不便些,如果提交频繁,则这个触发就会频繁,看业务须要设置.4.Build Environment(设置构建环境)
Delete workspace before build starts:默认删除所有的,也能够设置删除特定的文件
- Patterns for files to be deleted:正则匹配删除哪些文件
- Apply pattern also on directories:规定是否也利用到文件夹
- Check parameter:是否删除,是个bool值,true则删除,false不删除.为毛感觉这个有点鸡肋
- External Deletion Command:执行内部删除命令
Abort the build if it’s stuck:构建阻塞的时候,依据超时策略解决.
- Time-out strategy:超时策略,有相对工夫,绝对工夫,依据以前的构建工夫判断等
- Time-out variable:超时工夫
- Time-out actions:超时后的解决,如终结,faile调或者写形容
- Add timestamps to the Console Output:在输入界面增加工夫戳
- Use secret text(s) or file:应用密文,用于全局性的治理明码等,勾选后会在下方呈现Binding,输出须要的用户名,明码证书等就能够了
5.Build(构建)
这个能够执行多种命令,如window的批处理,shell等个别shell就能够了.平时的自定义编译命令,打包等等,都能够写在这里.jenkins举荐将过长的命令写到下载的源码里,由这个外面的shell命令调用.jenkins执行的时候会默认把所有的命令都打印进去,这样不便调试.能够创立多个build step,这些step是串行的,一个faile,,前面的step都不会执行了.
6.Post-build Actions
能够依据build的后果设置发送邮件,打包,执行其余工作等等.build胜利还是失败都会走到这一步.