Jenkins持续集成01—Jenkins服务搭建和部署
一、介绍Jenkins
1、Jenkins概念
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。
2、Jenkins目的
① 持续、自动地构建/测试软件项目。
② 监控软件开放流程,快速问题定位及处理,提示开放效率。
3、特性
① 开源的java语言开发持续集成工具,支持CI,CD。
② 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。
④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
⑥ 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。
4、产品发布流程
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
持续集成 (Continuous integration,简称CI)
持续交付(Continuous delivery)
持续部署(continuous deployment)
二、安装Jenkins
1、安装JDK
Jenkins是Java编写的,所以需要先安装JDK,这里采用yum安装,如果对版本有需求,可以直接在Oracle官网下载JDK;也可自己编译安装。
[root@jenkins ~]# yum install -y java-1.8.0
2、安装Jekins
[root@jenkins ~]# cd /etc/yum.repos.d/
[root@jenkins yum.repos.d]# wget http://pkg.jenkins.io/redhat/jenkins.repo
[root@jenkins ~]# rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
[root@jenkins ~]# yum install -y jenkins
3、修改配置文件
(1)查询yum下载Jenkins安装的文件
[root@jenkins ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
(2)创建Jenkins主目录
[root@jenkins ~]# mkdir /data/jenkins -p
[root@jenkins ~]# chown -R jenkins.jenkins /data/jenkins/
(3)修改配置文件
[root@jenkins ~]# vim /etc/sysconfig/jenkins
JENKINS_HOME="/mnt/cellar/jenkins"
JENKINS_USER="jenkins"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:Maxize=256m"
JENKINS_PORT=""
(4)开启Jenkins服务
[root@jenkins bin]# systemctl start jenkins
(5)网页打开配置
打开192.168.130.110:8000/
① 为了安全考虑,首先需要解锁Jenkins,请在/var/lib/jenkins/secrets/initialAdminPassword中查看文件。

在Jenkins服务器上查询管理员密码
[root@centos7-1 ~]# cat /data/jenkins/secrets/initialAdminPassword
250d0360e2a149dbb7402f96a26945e2
② 选择需要安装的插件
选择默认推荐即可,会安装通用的社区插件,剩下的可以在使用的时候再进行安装。

开始安装,由于网络原因,有一些插件会安装失败。

③ 设置Admin用户和密码

④ 安装完成

⑤ 登录Jenkins

三、安装完后,简单的配置
1、系统配置
① 系统消息:Welcome to Jenkins~
② 全局属性--->环境变量,可根据自己的项目添加;如:gitlab:

③ 扩展邮件通知(用于之后项目构建后发送邮件)

④ 邮件配置
管理监控配置--->系统管理员邮件地址:along@163.com,要和下面的用户名一致;
邮件通知,配置如下:可以点击测试,是否配置成功

2、全局工具配置
如果你持续集成需要用的哪些工具,就需要在这里添加配置;后边持续集成中,将会详细讲解;
这里只举例:添加JDK工具
点击新增---> 取消自动安装 ---->然后查询Jenkins服务器上JDK的路径,填写JAVA_HOME ---> 保存即可

3、插件管理
这里有可更新、可选未安装插件、已安装插件;可以通过过滤快速查找

四、开始一个简单的项目
1、新建任务
输入一个项目名称,构建一个自由风格的软件项目

2、配置项目
(1)General
描述:test 自己随意添加;
显示名称:along 是Jenkins看到的项目名称;
其他更多的用法,后续再讲;

(2)源码管理(就是拉取代码的地方,可以选择git或SVN)
① 选择git,输入gitlab项目地址

② 点击Add添加凭据
选择SSH Username with pricate key,秘钥认证,输入私钥即可;
注:Jenkins服务器需在gitlab项目上有key

因为只是简单的示范,所以就只有这些简单的配置;
3、构建项目
(1)点击项目damo,立即构建

(2)可以点击#1,查询详细的控制台输出信息;

(3)在Jenkins服务器上认证
在这个目录下能找到自己拉取git的项目;证明项目成功完成
[root@jenkins ~]# ls /data/jenkins/workspace/
damo damo@tmp
Jenkins持续集成01—Jenkins服务搭建和部署的更多相关文章
- jenkins持续集成工作原理、功能、部署方式等介绍
超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 j ...
- 16.1-Jenkins持续集成01—Jenkins服务搭建和部署
分类: Linux架构篇 一.介绍Jenkins 1.Jenkins概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何 ...
- linux环境下搭建Jenkins持续集成(Jenkins+git+shell+maven+tomact)
准备环境 jenkins.war包 ,jdk1.8 ,tomact , maven,git 1.Jenkins war包,下载地址https://jenkins.io/zh/download/ ...
- 利用 Jenkins 持续集成 iOS 项目,搭建自动化打包环境
---恢复内容开始--- jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的”自动化”编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:Java, c#, P ...
- Jenkins持续集成实践之java项目自动化部署
关于Linux安装Jenkins可以参考我的这篇博文Ubuntu16.04环境安装jenkins 1.安装部署插件 进入插件管理,并搜索该插件Deploy to container Plugin进行安 ...
- jenkins持续集成:jenkins+SVN
实现jenkins从svn拉取最新的代码,再执行驱动脚本进行自动化测试 新建一个任务 输入任务名,选“构建一个自由风格的软件项目”,点左下角“确定” 丢弃旧的构建,如下设置为保留3天内的10条构建记录 ...
- git+jenkins持续集成二-jenkins定时构建语法:定时构建语法
构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月 ...
- Jenkins持续集成学习-Windows环境进行.Net开发1
目录 Jenkins持续集成学习-Windows环境进行.Net开发 目录 前言 目标 使用Jenkins 安装 添加.net环境配置 部署 结语 参考文档 Jenkins持续集成学习-Windows ...
- Jenkins持续集成企业实战
阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关 ...
随机推荐
- maven build时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ ...
- 关系数据库数据与hadoop数据进行转换的工具 - Sqoop
Sqoop 本文所使用的Sqoop版本为1.4.6 1.官网 http://sqoop.apache.org 2.作用 A:可以把hadoop数据导入到关系数据库里面(e.g. Hive -> ...
- Java后期拓展(一)之Redis
1.NoSQL数据库简介 2.Redis的介绍及安装启动 3.Redis的五大数据类型 4.Redis的相关配置 5.Redis的Java客户端Jedis 6.Redis的事务 7.Redis的持久化 ...
- Vs 开发时无法断点问题
1.清除解决方案 2.重新编译 3.删除项目目录下的obj 和 bin 4.在vs中配置 工具--项目--调试--去除勾选 要求源文件与原始版本完全匹配 关于调试问题 1.关闭诊断工具, 工具 =&g ...
- Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列
本文主要摘录自:详细介绍Spring Boot + RabbitMQ实现延迟队列 并增加了自己的一些理解,记录下来,以便日后查阅. 项目源码: spring-boot-rabbitmq-delay-q ...
- 企业IT管理员IE11升级指南【8】—— Win7 IE8和Win7 IE11对比
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 爱奇艺技术分享:爱奇艺Android客户端启动速度优化实践总结
本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Andro ...
- PHP workerMan tcp与webSocket 透传互通
<?php $work_path = dirname(__FILE__); chdir($work_path); use \Workerman\Worker; use \Workerman\Li ...
- [Swift]LeetCode477. 汉明距离总和 | Total Hamming Distance
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- Python档案袋( 进程与协程 )
Python的进程和线程是使用的操作系统的原生线程和进程,其是去调用操作系统的相应接口实现 进程:之间不可直接共享数据,是资源的集合,进程必须有一个线程 线程:基于进程,之间可直接共享数据,可执行,只 ...