zoukankan      html  css  js  c++  java
  • job界面详解

    一.创建job

    job安装后,点击new item会出现如下界面,这个界面用于创建不用风格的job
    job创建界面

    1.Freestyle project
    这个是jenkins的基础功能,可以用它来执行各种构建任务,他只能构建在一个电脑上,如果没有太多的需求,这个job基本够用了,它包含了所有基础功能.
    2.Pipeline
    真实的工作环境有很多job,比如先编译,然后执行静态代码检查、单元测试、然后部署服务器、服务器重启、进行ui测试等。我们需要对这些job进行一些设置将它们的上下游关系配置好。这个时候就需要pipeline配置了.详细的可以参考这篇文章

    3.External job
    用来监视外部执行的job.

    4.Multi-configuration project
    可以让job跑在不同的机器上.这个需要添加机器(节点),流程的话可以参考这篇文章

    后面还有一些,这里不一一介绍了,有需要的可以自己google.
    我们选择最基础的freestyle创建一个job,点击ok按钮.

    二.配置界面

    这里写图片描述

    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:可以设置用户可输入的参数,没有输入则使用默认值,有字符串,多行字符串,布尔值等可以设置.wiki
    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

    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更方便些,如果提交频繁,则这个触发就会频繁,看业务需要设置.

    3.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,输入需要的用户名,密码证书等就可以了

    4.Build(构建)

    这里写图片描述

    这个可以执行多种命令,如window的批处理,shell等一般shell就可以了.平时的自定义编译命令,打包等等,都可以写在这里.jenkins推荐将过长的命令写到下载的源码里,由这个里面的shell命令调用.jenkins执行的时候会默认把所有的命令都打印出来,这样方便调试.可以创建多个build step,这些step是串行的,一个faile,,后面的step都不会执行了.

    5.Post-build Actions

    这里写图片描述

    可以根据build的结果设置发送邮件,打包,执行其他任务等等.build成功还是失败都会走到这一步.

    三.总结

    jenkins很强大,目前刚入门.他的作用不仅仅是编译代码,还可以执行其他任意定时任务,监控任务.配合分布式部署,可以实现大规模的协作使用.后面将对jenkins的插件开发和源码结构进行分析.

  • 相关阅读:
    Codeforces Round 546 (Div. 2)
    Codeforces Round 545 (Div. 2)
    Codeforces Round 544(Div. 3)
    牛客小白月赛12
    Codeforces Round 261(Div. 2)
    Codeforces Round 260(Div. 2)
    Codeforces Round 259(Div. 2)
    Codeforces Round 258(Div. 2)
    Codeforces Round 257 (Div. 2)
    《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的分布
  • 原文地址:https://www.cnblogs.com/wuchangsoft/p/9313687.html
Copyright © 2011-2022 走看看