zoukankan      html  css  js  c++  java
  • 【04】Jenkins:基本功能补充说明

    写在前面的话

    在 Jenkins 中有那么一些功能,可能你几乎不会怎么用到,但是某些时候又能够帮助你解决一些很麻烦的事情。我这里单独的把这些小配置抽离出来作为一个单独章节。很多配置不需要记得,但是要知道,知道 Jenkins 本身是有提供给我们这个功能的。

    定时构建

    关于定时构建,可以举个简单的例子,比如我们某些特别的项目,我们需要每过一段时间就去更新它。有可能这类服务是随时都在修改的,但是我们又不能每次修改都去更新,那样会导致更新过于频繁,所以我们希望每隔一段时间更新一次。

    这样的功能在 Jenkins 创建的任务中是有提供给我们的:

    在创建的任务中的构建触发器这一栏存在该功能。下面简单的该配置的写法进行说明:

    这里的写法类似于 Linux 的 Cron 定时任务:* * * * *,分(0–59) 时(0-23) 日(1-31) 月(1-12) 周(1-7)

    加入我们希望他每周一早上 8 点 50 自动执行一次构建,可以这样写:

    50 8 * * 1

    或者每五分钟执行一次:

    */5 * * * *

    当然,在 Jenkins 中为我们提供了更加灵活的调度,使用 H 来替代:

    H 的作用在于它能够根据我们目前机器的使用情况灵活执行,我们只需要知道有这个东西即可!

    参数化构建

    参数化构建是我们非常常用的功能,我目前在用的所有构建都依赖于参数化构建,通过传参实现不同的构建配置需求。

    我们可以一开始添加自己想配置的参数,并在接下来的配置中通过变量引用的方式使用它:

    比如我们这里随便配置了两个变量,一个是普通的字符变量,一个选项变量。我们在后面引用它。

    比如在构建的时候引用:

    引用方法就和 Shell 中的变量一样。此时我们执行构建:

    可以看到此时构建时候多了一步,就是传参,之前我们设置的相当于默认参数,这里还可以继续进行修改。开始构建

    打开控制台输出可以明确的看到,我们执行的两个 echo:

    当然,Jenkins 本身也自己提供了很多内部的变量可以提供给我们调用,在这类可以填写变量地方一般都会有链接提示,比如:

    触发构建 

    触发构建可以分为几种:

    1. 执行该构建完成后,去触发执行其它某个构建。

    2. 该构建监听其他构建,其他构建执行后触发该构建。

    3. 通过其他服务变更触发本构建(这个后面单独讲解)。

    对于第一种,在构建后操作的地方可以配置:

    我们可以在这里配置想要触发的构建:

    对于第二种,在配置的一开始就有个 其他工程构建触发 选项,可以配置其他任务的名字,只要那个任务构建,就可以根据配置的规则执行当前的任务:

    任务管理

    对于一个公司而言,可能会出现很多项目都集中在一个 Jenkins 上面,这样就会导致我们首页打开如果显示所有,就会项目特别多,特别不好管理。Jenkins 为我们提供了两种方式,一种是视图(view),一种是文件夹(folder)。

    1. 对于视图方式,很简单:

    点击这里就可以添加视图,可以选择类型:

    我们可以往该视图中添加任务,一种是直接勾选,另外一种给就是正则表达式匹配,因为一开始我们的名字改的有意义,所以我一般用正则。

    此时可以看到测试视图:

    我们可以通过侧边菜单再度进行该视图的编辑:

    2. 另外一种就是 folder 的方式,这其实是一种比视图更好的一种管理方式,我们把同类型的项目放到指定文件夹,也便于我们进行权限管理。

    在新建任务的时候可以:

    此时首页就可以看到文件夹:

    我们可以在该文件夹里面按照和之前一样的方式进行视图创建,任务创建:

    复制项目

    一个公司的项目往往在构建的时候配置大同小异,如果我们每添加一个都去手动配置一遍,那太麻烦了。好在 Jenkins 为我们提供了复制功能。

    输入复制后的任务名称,填写需要复制的任务名称,创建就可以了。

    我们再做做简单的修改,就是另外一个项目的构建配置了。

    Jenkins 主从

    对于 Jenkins 主从,我这里只是一个简单的进行说明, 因为只有一台机器,所以就不做配置了。

    Jenkins 提供了分布式管理方式,这意味着我们通过在 Master 配置构建任务,执行构建任务的时候能够被分配到另外一台机器去执行。

    这种情况适用于公司业务比较大,项目多,可能同时需要很多构建的情况。

    打开:系统管理 --> 节点管理

    我们可以在这里添加 Slave 节点,具体操作网上有很多,可以去参考。

    执行脚本

    在 Jenkins 构建的时候,我们可以执行 Shell,这意味着,我们可以通过 Shell 来执行服务器本地的脚本。

    我们新建 /tmp/test.sh 作为测试:

    #!/bin/sh
    
    echo 'Hello World'
    echo $1

    修改构建:

    可以顺便给脚本传值,执行查看:

    小结 

    本节的内容大多都是一些小功能,算是对于我们执行任务或者管理 Jenkins 的一些优化。当然其他的肯定不止这些。后面会针对某些比较重要的功能进行具体的讲解。 

  • 相关阅读:
    关于linux内核模块Makefile的解析
    The Kernel Newbie Corner: Kernel Debugging with proc "Sequence" Files--Part 3
    The Kernel Newbie Corner: Kernel Debugging with proc "Sequence" Files--Part 2
    The Kernel Newbie Corner: Kernel Debugging Using proc "Sequence" Files--Part 1
    __KERNEL__ macro
    代码片段------find批量处理
    poll机制分析
    initrd映像文档的作用和制作
    为什么文件名要小写?
    CSS媒体查询 width VS device-width
  • 原文地址:https://www.cnblogs.com/Dy1an/p/11201659.html
Copyright © 2011-2022 走看看