乐趣区

关于jenkins:快速创建Jenkins-Job

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 胜利还是失败都会走到这一步.

退出移动版