Jenkins 介绍:

  Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成

变成可能。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可

以通过安装Java Runtime Environment的任何机器独立运行。

主要用于:

  1. 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
  2. 监控一些定时执行的任务。

Jenkins特点:

  • 开源免费;
  • 跨平台,支持所有的平台;
  • master/slave支持分布式的build;
  • web形式的可视化的管理页面;
  • 安装配置简单;
  • tips及时快速的帮助;
  • 具有很多个插件

通常项目的发布需要执行下面的步骤,其中红色框中的部分都可以使用Jenkins来完成.

一、安装Jenkins以及创建

官网:https://jenkins.io/ 官方文档:https://jenkins.io/zh/doc/

下载地址:https://jenkins.io/zh/download/

根据自己的系统选中正确的版本进行安装.具体的步骤就省略了,都是根据提示下一步下一步.网上也很多介绍.

安装完成之后点击左边菜单栏 新建Item

选择输入任务名称并选择第一种Freestyle project,

二、General

1.描述

2.策略,每次触发构建都存有相应的记录在这里可以设置记录保存几天,保存记录的个数,避免记录过多占用不必要的空间.

3.Github项目的话可直接填写Github项目的地址

4.这次构建时锁定的资源

5.参数化构建(可选构建是传递的参数,根据参数动态构建,后面会仔细的介绍)

6.截流构建,规定时间内限制构建次数.

7.关闭构建,特殊情况下想关闭这个job,避免发生错误构建时可勾上.

8.并发构建,选中此选项后,可以并行执行此项目的多个构建。默认情况下,一次只执行一个项目的构建——开始构建该项目的任何其他请求都将保留在构建队列中,直到第一个构建完成。

这是一个安全的默认设置,因为项目常常需要对某些资源(如数据库或硬件)进行独占访问。但是启用这个选项后,如果有足够的构建执行者可用来处理这个项目,那么这个项目
的多个构建将并行进行。如果在任何时候都没有足够的执行器可用,那么任何进一步的构建请求都将正常地保存在构建队列中。
启用并发构建对于执行冗长测试套件的项目非常有用,因为它允许每个构建包含更少的更改,而总周转时间会减少,因为后续构建不需要等待以前的测试运行完成。
该特性对于参数化的项目也很有用,这些项目的单个构建执行(取决于使用的参数)可以完全独立于其他项目。
每个并发执行的构建都发生在其自己的构建工作区中,与任何其他构建隔离。默认情况下,Jenkins将“@”附加到工作空间目录名,例如。“@2”。
分隔符“@”可以通过设置hudson.slaves来更改。在启动Jenkins时,WorkspaceList Java系统属性。例如,“hudson.slaves。将分隔符改为连字符。
有关设置系统属性的更多信息,请参见wiki页面。
但是,如果您启用了Use custom workspace选项,那么所有构建都将在同一个工作区中执行。因此需要谨慎,因为多个构建可能会同时改变同一个目录。

三、源码管理

源码管理有三种选择,第一种就不必说了,主要说第二种(Git)和第三种(SVN)

源码管理为Git时

Repository URL :   输入Git的项目地址

Credentials    :   点击添加,添加Git的账号密码,保存之后选择刚添加的账号密码

其他配置根据自己实际情况选择,一般默认即可.

 
源码管理为Subversion时

Repository URL :   输入svn的项目地址

Credentials    :   点击添加,添加svn的账号密码,保存之后选择刚添加的账号密码

其他配置根据自己实际情况选择,一般默认即可.

 
账号密码的添加
 

四、构建触发器

这里只列举常用的几种构建触发器.

1.触发远程构建 (例如,使用脚本)

在身份验证令牌中填写验证的token,例如123456
则触发构建项目的url为  JENKINS_URL/job/job名称/build?token=123456 或者 /buildWithParameters?token=123456
若项目使用的是svn,则可以设置svn的hook访问该地址,项目就可以触发构建
1.在svn的Repositories中选择要触发构建的项目,鼠标右键点击--->所有任务--->Manage Hooks(管理hooks)

2.选择Post-commit hook(提交完成之后的hook),然后点击Edit

3.在文本框中该填写
start iexplore.exe    JENKINS_URL/job/job名称/build?token=123456
ping /n 4 127.1 >nul 2>nul
taskkill /f /im iexplore.exe
代码的意思就是用系统自带的浏览器访问jenkins中job的触发构建项目的url.然后等待2秒钟,然后关闭浏览器.
这里注意这种是在没有相关权限的情况下(任何人都可以访问,没有做限制)可以这样做.若是需要相关权限可通过shell(注意:windows自带的shell不可以)账号密码登录然后访问url触发构建.

若触发报错  Error 403 No valid crumb was included in the request, 则需关掉Jenkins配置中的跨站请求伪造保护.

 
2.Gitee webhook 触发构建
1.红色1指向的地址是要填写在Git上的postUrl,点击Gitee WebHook 密码的生成按钮(红色2)文本框生成一个字符串(红色3)

 
2.我以Gitee为例,找到项目主页的右上角的 管理 按钮并点击.

进去之后点击菜单栏的WebHooks,再点击右上角的添加

在URL中填写jenkins项目的地址(第一步中的红色1)以及生成的密码(第一部中的红色3),到此配置完成.

 
3.Poll SCM  轮询触发构建
这个就可以根据jenkins的右边的查看提示来进行填写,例如
# 每15分钟触发一次
H/15 * * * *
# 在每个小时的前0-29分钟,每隔10分钟触发一次
H(0-29)/10 * * * *
# 星期一至星期五的9点至16点,每两小时为一个时间段,45分时触发一次
45 9-16/2 * * 1-5
# 星期一至星期五的9点至16点,每两小时触发一次
H H(9-16)/2 * * 1-5
# 除了12月,每个月的1号和15号一天一次
H H 1,15 1-11 *

五、构建环境


默认的有这几种


 

Jenkins的使用(一)的更多相关文章

  1. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  2. Python-Jenkins API使用 —— 在后端代码中操控Jenkins

    最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...

  3. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  4. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  5. Jenkins的一个bug-同时build一个项目两次导致失败

    我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...

  6. 使用Jenkins配置Git+Maven的自动化构建

    Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便. 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器 ...

  7. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  8. 在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境

    在Redhat enterprise 6.5 的服务器上,为在gutub 上的 .net 项目构建一个持续集成环境,用到了Jenkins和mono.因公司的服务器在内网,访问外网时要通过代理,所以在很 ...

  9. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  10. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...

随机推荐

  1. LCD RGB 控制技术讲解 — 时钟篇(上)【转】

    1. 时序图 下面是LCD RGB 控制的典型时序图 天啊,一下就上这玩意,怎么看??? 其实要解释上面的时序图,我们还需要了解一些LCD的显示过程.所以现在只是有个印象,稍后我们详细讲解. 2. L ...

  2. MyBatis学习笔记-1 Idea配置MyBatis

    一.创建工程 1.创建Java项目,勾选Java EE,Next,修改名称,Finish 2.在WEB-INF下创建两个文件夹classes和lib,分别用作输出文件目录和库文件目录 3.File-P ...

  3. JVM 学习资料

    资料 网址 JVM Options - The complete reference http://jvm-options.tech.xebia.fr/ Java HotSpot VM Options ...

  4. 搭建Dubbo Admin(五)

    Dubbo Admin下载地址(2019年9月8日):https://github.com/apache/dubbo-admin 注意:JDK要求1.8以上 1. 进入到模块 dubbo-admin- ...

  5. shell的变量以及常见符号

    shell的变量以及常见符号 常见变量 不同于其它语言需要先声明变量,shell的变量直接使用 eg:      a=15 调用变量的话 $a 或者 ${a} $? #判断上一条命令执行的是否成功 0 ...

  6. set去重应用

    1.其中涉及__hash__与__eq__这两个内置方法. 2.列如: 要求用类生成多个对象,其中姓名和性别相同的对象可认为是同一个人,用set原理做去重 class People: def __in ...

  7. MySQL使用的几条注意事项和1449错误解决方案

    一.如何在Windows终端连接MySQL? 使用cmd进入终端,然后要进入到你安装MySQL的bin目录下(如果没有的话,会出现该命令无效之类的错误),然后使用命令mysql -u root -p, ...

  8. CSP前的板子

    板子A(扩展欧几里得) 题目描述 求关于x的同余方程 ax≡1(modb) 的最小正整数解. 输入格式 一行,包含两个正整数 a,b,用一个空格隔开. 输出格式 一个正整数 x​,即最小正整数解.输入 ...

  9. PKUWC2020游记

    PKUWC2020在2019年举行是真的沙雕 晚个两星期我就能逃掉期末考了 Day \(-\infty\) 开始停课训练,和ntf.lzy一起. atcoder真好玩,只可惜我没脑子-- kenkoo ...

  10. Salesforce 版本控制 - VS Code + GitHub + Salesforce

    使用VS Code开发Salesforce有个很好的地方是可以联接GitHub进行代码版本控制,点击查看使用VS Code开发SalesForce 第一步:安装GIthub Desktop Githu ...