CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

Stella981
• 阅读 989

持续集成概述及运行流程 :

持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试  开发→代码编译→测试

持续交付:持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境

持续部署:在持续交付的基础上,把部署到生产环境的过程自动化

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

网方网站 :https://jenkins.io/ 

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

搭建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

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

[root@git ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
cabc15df63c04d1c81377650f117d69c

  选择默认即可,会安装通用的社区插件,剩下的可以在使用的时候再进行安装

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

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

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

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

配置邮件通知

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

安装Gitlab Hook Plugin插件 :

系统管理→管理插件可选插件 安装两个插件 gitlab-plugin和gitlab hook-plugin 如果找不到 , 安装gitlab gitlab hook即可

要是找不到可以在插件地址下载然后在上传件

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

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

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

添加一个认证CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

我们需要在gitlab添加一个公钥 jenkins添加一个私钥

之前Gitlab已经生成过密钥对了, 直接把私钥给Jenkins就可以了

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

 CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

 CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

接下来就可以构建了

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

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

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

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

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

剩下的就是把Nginx或者Apache指向这个网站根目录  , 这里就不再叙述了

 查看控制台输出

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
GitLab+Rancher实践DevOps【转载】
摘要本文描述使用自建GitLab和Rancher实践持续集成/持续交付流水线的过程,并用Rancher实现容器编排和蓝绿发布。GitLab持续集成GitLab持续集成/持续交付流程图:!image(https://docs.gitlab.com/ee/ci/img/cicd_pipeline_infograp
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这