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相关 ...
随机推荐
- go http
先看一个简单的 tcp 连接: // server ln, err := net.Listen("tcp", ":8000") if err != nil {} ...
- 限制输入字数JS
<tr> <th><b>说明内容:</b><span id="content">(500字以内)</span> ...
- mysql8.0.13修改密码
在安装完数据库后,由于自己不小心直接关闭了安装窗口,或者长时间没有使用root用户登录系统,导致忘记了root密码,这时就需要重置MySQL的root密码.当然,最简单方式自然是删除数据库的data目 ...
- window10 Docker仓库访问
window10 Docker仓库访问 docer官网 docker仓库 windown10 安装docker可以参考 window10安装docker 配置了加速器以后还访问不了,点击托盘处dock ...
- java课程之团队开发冲刺阶段1.5
一.总结昨天进度 1.昨天由于时间较少,没有太多的时间来进行学习Sqlite 二.遇到的困难 1.由于最终的程序需要调用本地的数据库,所以我们需要在安装程序的时候就需要直接附带安装一个本地的数据库到手 ...
- 清理 zabbix 历史数据, 缩减 mysql 空间
zabbix 由于历史数据过大, 因此导致磁盘空间暴涨, 下面是结局方法步骤 1. 停止 ZABBIX SERER 操作 [root@gd02-qa-plxt2-nodomain-web-95 ~] ...
- python从入门到实践-11章测试模块(测试函数出问题)
#!/user/bin/env python# -*- coding:utf-8 -*- # 用python中unittes中工具来测试代码 # 1.测试函数import unittestfrom n ...
- [Swift]LeetCode309. 最佳买卖股票时机含冷冻期 | Best Time to Buy and Sell Stock with Cooldown
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- [Swift]LeetCode606. 根据二叉树创建字符串 | Construct String from Binary Tree
You need to construct a string consists of parenthesis and integers from a binary tree with the preo ...
- [Swift]LeetCode1030. 距离顺序排列矩阵单元格 | Matrix Cells in Distance Order
We are given a matrix with R rows and C columns has cells with integer coordinates (r, c), where 0 & ...