1. Jenkins 概述

Jenkins是一个开源的持续集成工具。持续集成主要功能是进行自动化的构建。自动化构建包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。

2. Jenkins功能

主要功能:

l 代码库(svn/git等)代码发生变化后更新代码至jenkins工作目录

l 代码变化后启动编译或设置定时编译

l 输出编译结果,包括生成的目标文件

l 邮件通知构建结果

3. Jenkins构建过程

1. 向代码库提交代码,代码库变化触发构建

2. 定时触发构建,到定时的时间点触发构建

3. Jenkins更新至最新代码

4. 启动编译,失败则停止构建。邮件反馈失败信息

5. 输出编译产物,WEB提供目标文件下载

4. Jenkins使用

4.1 Jenkins启动

1. 下载Jenkins软件jenkins.war。

2. Java环境配置

3. Linux shell或windows cmd执行java -jar jenkins.war

4. 指定端口启动java -jar jenkins.war --httpPort=port

Tips:jenkins工作目录默认在启动用户home目录,jenkins操作权限与启动用户一致。

4.2 Jenkins web

登录web,首次访问提示输入administration password 在shell中启动日志会提供,复制登录后创建admin用户。

Jenkins搭建完成后访问输入用户名和密码登录。

4.3 Jenkins界面

主界面说明:

项目界面说明:

单次构建界面说明:

Jenkins使用主要是操作这三个页面,可以完成以下内容:

l 近期代码构建结果查看

l 手动立即启动构建

l 获取构建结果目标文件

l 查看单次构建的代码变化

l 获取构建日志进行问题定位

5. Jenkins配置

5.1 系统配置

主界面进入系统配置,主要可更新和下载当前的插件和添加新的jenkins用户,系统设置内可配置jenkins工作目录及邮件相关配置,以配置好可不做修改。

5.2 项目配置

5.2.1 创建项目

项目配置需要熟悉当前项目的编译环境,配置项目的jenkins环境即配置当前项目的编译环境。

新建jenkins项目,选择自由风格的软件项目。已存在的项目可以在项目页面点击配置进入修改。

5.2.2 源码配置

在源码管理配置代码库,提供svn的url以及有Read权限账户,所有设置均需要插件支持,如果找不到配置选项,可以查看是否安装的对应功能的插件。

代码更新下载在jenkins的工作目录下/home/Jenkins/.jenkins/workspace,其他构件操作均以工作目录下代码为基础。

5.2.3 设置构建触发器

选择Poll SCM

* * * * *为每分钟检查一次SVN代码,有更新则启动构建。

* * * * *可以替换为具体时间

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

第五个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

由此可以配置定时构建

如0 * * * * 表示的就是每个小时的第 0 分钟执行一次构建。

5.2.4 构建配置

构建配置即配置代码的编译过程,首先需要在jenkins机器上配置好编译环境,先在机器上手动编译,确认编译环境配置完成,可以进行当前项目的代码编译后,再进行配置。

在构建选项上可以选择不同的工具进行构建,这些都需要插件的支持。因为项目是由命令行执行编译命令进行构建的,所以选择Execute shell执行命令进行构建,也可以配置其他构建工具环境进行构建。

5.2.5 输出归档

构建成功后需要将目标文件进行归档,否则在项目页面是无法显示和下载最后一次成功的构建结果选项。

这步在构建后进行操作,在构建后操作中选择archive the artifacts,填入需要归档的文件的正则表达式进行过滤。多个目录文件表达式可使用“,”进行分割。

5.2.6 邮件通知

在构建结束后,可以配置邮件,进行邮件通知。提示开发者构建结果,及时处理。

在使用邮件通知时需要先配置

主页面进入系统管理的系统设置页面,设置邮件通知,通知邮件将由这个邮箱发出,这个邮箱必须与jenkins location配置中的邮箱一致。

配置项目中的邮件收件人

可以使用“,”分割多个收件人。

6. Q&A

6.1. 忘记用户密码

/home/jenkins/.jenkins/users目录下有所有用户信息,打开对应用户的xml配置文件,找到passwordHash内容,修改为:

#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS

密码将被设置为111111

6.2. 如何手动安装插件

把文件放在/home/jenkins/.jenkins/plugins目录下,重启jenkins即可。

6.3. 邮件配置测试一直不成功

管理邮箱必须与jenkins location中邮箱一致,官网确认当前邮箱的SMTP服务器,端口以及是否使用SSL协议,最后查看当前邮箱是否开通IMAP/SMTP/POP/Exchange 服务。

6.4. Jenkins启动失败

查看启动端口是否被占用,查看是否当前的java环境版本不支持当前版本jenkins。

转载于:https://www.cnblogs.com/paul8339/p/6213905.html

Jenkins - 持续集成环境搭建【转】相关推荐

  1. 【原】Jenkins持续集成环境搭建之创建java项目的job【centos6.5 java maven git 项目】...

    一.构建一个maven项目 在jenkins主页上,左侧,选择"新建",然后填写项目名称,选择"构建一个maven项目" 二.Git配置 保存之后,进入详细配置 ...

  2. centos下搭建Jenkins持续集成环境(安装jenkins)

    centos下搭建Jenkins持续集成环境(安装jenkins) 1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这 ...

  3. Centos+Gitlab+Jenkins 针对.NET项目持续集成环境搭建和自动化部署

    目录 一.前言 二.系统环境 三.Gitlab安装 3.1 安装依赖软件 3.2 开启postfix 3.3 安装Gitlab 3.4 设置服务器IP和端口 3.5 重置并启动GitLab 3.6 浏 ...

  4. Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)

    一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...

  5. Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

    Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目 前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+ ...

  6. Jenkins持续集成环境, 如何自定义 maven repositories

    假设自定义的仓库路径为"/opt/repository",那么在"系统管理-系统设置"中,修改"全局MAVEN_OPTS"的值为如下的内容: ...

  7. Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

    本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...

  8. Jenkins 持续集成环境快捷部署

    搭建持续集成环境 jenkins + maven + svn + tomcat 实现自动编译打包部署 1.环境准备 (1)JDK1.8.0_131                    #不低于1.7 ...

  9. Jenkins持续集成环境之插件管理和角色管理

    1.持续集成环境-Jenkins插件管理 Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用.例如从Gitlab拉取代码,使用Maven构建项目等 功能需要依靠插件完成.接下来演示 ...

最新文章

  1. 网络规划设计培训与方案集下载
  2. oracle 性别 函数索引优化,oracle优化记录4_改写函数索引列
  3. 内存模型是怎么解决缓存一致性的
  4. 院士建议:多关注千千万万没有任何“帽子”的青年科技工作者
  5. 大数据驱动乡村振兴共享共治机制研究
  6. 5、ABPZero系列教程之拼多多卖家工具 修改User表结构
  7. Javascript - 面向对象
  8. 07-12-Exchange Server 2019-安装-CU1
  9. Epub与Kindle
  10. SQL基础系列(八)——排序、分组排序(RANK)
  11. js日期减一个月_正正正国庆!折上再减!三亚/香格里拉/稻城/拈花湾,最低499元…...
  12. 231个web前端的javascript特效分享(仅供本人学习,非教程类型)
  13. TDM与FDM的比较
  14. Unexpected token o in JSON at position 1报错
  15. Visio 2010、2013中找不到“拆分”,“联合”,“相交”等开发工具
  16. 5G终于来了,物联网将是未来五年要重点关注的行业
  17. DQN 从入门到放弃
  18. 博图v16安装及教程
  19. 数字化转型如何执行?
  20. AIDA模型:什么是营销中的 AIDA 模型?

热门文章

  1. IIS之错误解决之道
  2. flutter UiKitView 加载ios 原生view
  3. java基础—IO流概述
  4. Codeforces 827D Best Edge Weight 倍增 + 并查集 || 倍增 + 压倍增标记 (看题解)
  5. Linux 常用命令六 cp和mv
  6. 小程序开发 缓存的应用
  7. 每个程序员都应该知道的一些访问时延值
  8. kaptcha小案例(转)
  9. codeforces C. Valera and Tubes
  10. 收集数据至泛型Dictionary