CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境
持续集成概述及运行流程 :
持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试 开发→代码编译→测试
持续交付:持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境
持续部署:在持续交付的基础上,把部署到生产环境的过程自动化
Jenkins概述 :是一个开源软件项目,是基于 Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
网方网站 :https://jenkins.io/

搭建Jenkins实现持续集成
Jenkins是Java编写的,所以需要先安装 JDK ,如果对版本有需求,可以直接在Oracle官网下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/
[root@git ~]# tar xf jdk-8u181-linux-x64.tar.gz -C /usr/local/
[root@git ~]# mv /usr/local/jdk1.8.0_181 /usr/local/java
[root@git ~]# vim /etc/profile
# 在末尾添加
JAVA_HOME=/usr/local/java/
JAVA_BIN=/usr/local/java/bin
JRE_HOME=/usr/local/java/jre
PATH=$PATH:/usr/local/java/bin:/usr/local/java/jre/bin
CLASSPATH=/usr/local/java/lib:/usr/local/java/jre/lib/charsets/jar
[root@git ~]# source /etc/profile
[root@git ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
添加yum源 下载安装Jenkins
[root@git ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat/jenkins.repo
[root@git ~]# rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
[root@git ~]# yum -y install jenkins
新版GitLab的服务端口为8080,为了不和GitLab的服务端口相冲突,修改Jenkins的默认端口8080为329
[root@git ~]# vim /etc/sysconfig/jenkins
# 修改25行 用户为root
JENKINS_USER="root"
# 修改56行 端口329
启动Jenkins
[root@git ~]# systemctl start jenkins
Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
[root@git ~]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 一 2018-08-27 14:38:33 CST; 16s ago
Docs: man:systemd-sysv-generator(8)
Process: 20100 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE) 8月 27 14:38:33 git systemd[1]: Starting LSB: Jenkins Automation Server...
8月 27 14:38:33 git runuser[20105]: pam_unix(runuser:session): session opened for user...=0)
8月 27 14:38:33 git jenkins[20100]: Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
8月 27 14:38:33 git runuser[20105]: pam_unix(runuser:session): session closed for user root
8月 27 14:38:33 git jenkins[20100]: [失败]
8月 27 14:38:33 git systemd[1]: jenkins.service: control process exited, code=exited s...s=1
8月 27 14:38:33 git systemd[1]: Failed to start LSB: Jenkins Automation Server.
8月 27 14:38:33 git systemd[1]: Unit jenkins.service entered failed state.
8月 27 14:38:33 git systemd[1]: jenkins.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
[root@git ~]# which java
/usr/local/java/bin/java
[root@git ~]# ln -s /usr/local/java/bin/* /usr/bin/
[root@git ~]# systemctl start jenkins
访问IP:329
解锁Jenkins

[root@git ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
cabc15df63c04d1c81377650f117d69c
选择默认即可,会安装通用的社区插件,剩下的可以在使用的时候再进行安装





如果在下线安装揑件失败了,或是无网环境下想安装插件,可以选择手劢安装


插件下载地址 :http://updates.jenkins-ci.org/download/plugins/ # 在有网的环境下,把自己需要的插件下载好,然后再从本地上传 , 上传完插件得重启jenkins,不重启插件不生效
配置邮件通知

安装Gitlab Hook Plugin插件 :
系统管理→管理插件→可选插件 安装两个插件 gitlab-plugin和gitlab hook-plugin 如果找不到 , 安装gitlab gitlab hook即可
要是找不到可以在插件地址下载然后在上传件






在url里面添加我们的gitlab项目地址 git@192.168.94.11:damowang/damowang.cn-web.git

添加一个认证

我们需要在gitlab添加一个公钥 jenkins添加一个私钥
之前Gitlab已经生成过密钥对了, 直接把私钥给Jenkins就可以了



接下来就可以构建了

查看jenkins目录下有没有文件构建成功

看看拉取的代码与git上的是否一致

剩下的就是把Nginx或者Apache指向这个网站根目录 , 这里就不再叙述了
查看控制台输出

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境的更多相关文章
- Jenkins+Gitlab搭建持续集成(CI)环境
利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...
- Jekens 配置多项目SCM GitLab+Jenkins持续集成环境
参考: 搭建GitLab+Jenkins持续集成环境图文教程 https://blog.csdn.net/ruangong1203/article/details/73065410 Jenkins中配 ...
- Hudson(Jenkins)持续集成插件开发环境搭建
Hudson持续集成插件开发环境搭建 第一步安装java jdk,至于版本的话推荐1.6以上吧.安装好jdk设置环境变量,确保你在cmd中输入java -version有提示你jdk的版本信息等,也就 ...
- GitLab、Jenkins结合构建持续集成(CI)环境
1 持续集成 概述及运行流程 1.1 持续集成概述 持续集成概述:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并迚程自 ...
- GitLab+Jenkins持续集成
一.概述 GitLab是一个代码仓库,用来管理代码.Jenkins是一个自动化服务器,可以运行各种自动化构建.测试或部署任务.所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins ...
- gitlab+jenkins持续集成(一)
1. 环境:CentOS7.0,jdk-8u91-linux-x64.rpm,jenkins 2.7.4 ,gitlab 9.2.2 2. 安装jdk,jenkins (rpm -ivh ...
- 使用Jenkins搭建持续集成(CI)环境
转自:http://www.cnitblog.com/luckydmz/archive/2012/01/03/77007.html 首先从官网http://jenkins-ci.org/下载 Java ...
- gitlab+jenkins持续集成(三)
构建: 需要将jenkins服务器上 jenkins用户的公钥发送给 目标服务器的gs用户,使得在jenkins上能用gs免密登录目标服务器 复制密钥到目标机器上(需要登录到的机器) ssh-co ...
随机推荐
- C# 堆栈(Stack)和队列(Queue)
一.什么是堆?(Heap) 堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收. 是程序运行期 ...
- mysql安装了半天参考了文章搞定了
https://blog.csdn.net/yelllowcong/article/details/79641313 mysql -uroot -pbrucelee 总结下: 1.安装时注意具体的路径 ...
- __x__(40)0909第五天__表格 table 的 css 样式 美化
如果就向下面的代码那样,不写 tbody , 则浏览器自添加 tbody , 并将所有的 tr 移入 tbody 意味着 tr 并非 table 的子元素,而是 tbody 的子元素. 所以 以后编写 ...
- AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors
https 协议 默认端口号 443 http 协议 默认端口号 80 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号 必须完全一致 违 ...
- vue_条件渲染_v-if_v-else_v-show
data: { ok: true flag: false } 1. 成对出现的 v-if 和 v-else 原理是: 标签的删除与重新创建 ,有些情况必须用 v-if <p v-if=" ...
- ubuntu16.04中supervisor安装与简单使用(转载)
ubuntu16.04中supervisor安装与简单使用 supervisor 进程管理是可以让进程在后台运行,而不占用控制台影响使用 1. 安装 supervisor sudo apt insta ...
- PHP算法学习(4) 随机算法
svn地址:svn://gitee.com/zxadmin/live_z <?php /* * 随机数算法 * 伪随机数 根据分布概率 */ final class Random { /* * ...
- Python函数部分(1)
之前,我们编代码时程序遵循的原则是:根据逻辑从上至下实现功能,其往往用一大段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处.这种方式虽然可以应付一般性 ...
- vue中router.go、router.push和router.replace的区别
router.go(n) 这个方法的参数是一个整数,意思是在history记录中向前或者后退多少,类似window.history.go(n) router.push(location) 想要导航到不 ...
- 干货|爱奇艺CDN巡检系统技术解析
小结: 1. 中心处理系统 /1/将定制后的巡检任务拆分,通过配置与任务分发系统.CMDB*( configuration management database)将派发到边缘拨测系统/2/处理边缘拨 ...