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

持续集成概述 :持续集成(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)环境的更多相关文章

  1. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  2. CentOS 7 Gitlab+Jenkins持续集成+自动化部署

    基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...

  3. Jekens 配置多项目SCM GitLab+Jenkins持续集成环境

    参考: 搭建GitLab+Jenkins持续集成环境图文教程 https://blog.csdn.net/ruangong1203/article/details/73065410 Jenkins中配 ...

  4. Hudson(Jenkins)持续集成插件开发环境搭建

    Hudson持续集成插件开发环境搭建 第一步安装java jdk,至于版本的话推荐1.6以上吧.安装好jdk设置环境变量,确保你在cmd中输入java -version有提示你jdk的版本信息等,也就 ...

  5. GitLab、Jenkins结合构建持续集成(CI)环境

    1 持续集成 概述及运行流程 1.1 持续集成概述 持续集成概述:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并迚程自 ...

  6. GitLab+Jenkins持续集成

    一.概述 GitLab是一个代码仓库,用来管理代码.Jenkins是一个自动化服务器,可以运行各种自动化构建.测试或部署任务.所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins ...

  7. gitlab+jenkins持续集成(一)

    1. 环境:CentOS7.0,jdk-8u91-linux-x64.rpm,jenkins 2.7.4 ,gitlab 9.2.2 2.    安装jdk,jenkins     (rpm -ivh ...

  8. 使用Jenkins搭建持续集成(CI)环境

    转自:http://www.cnitblog.com/luckydmz/archive/2012/01/03/77007.html 首先从官网http://jenkins-ci.org/下载 Java ...

  9. gitlab+jenkins持续集成(三)

    构建: 需要将jenkins服务器上  jenkins用户的公钥发送给  目标服务器的gs用户,使得在jenkins上能用gs免密登录目标服务器 复制密钥到目标机器上(需要登录到的机器) ssh-co ...

随机推荐

  1. webpack打包后该如何访问项目?

    一.问题描述 开发环境,页面浏览都OK,产出文件后,直接打开产出目录的index.html,页面空白. 二.预期结果 能正常看到页面. 三.问题分析 你可能会在编译的最后看到如下一句话: Tip: b ...

  2. Jquery中事件的重复绑定

    问题:事件的绑定具有叠加效果,已有绑定的函数时,再次绑定,执行时会出现绑定多少次,触发多少次的情况 解决:1.on();绑定事件,提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind(). ...

  3. django——会话追踪技术

    1.引言 1.1什么是会话追踪技术 会话是指一个终端用户(服务器)与交互系统(客户端)进行通讯的过程. 1.2 什么是会话跟踪 对同一个用户对服务器的连续的请求和接受响应的监视.(将用户与同一用户发出 ...

  4. JTS相关资料和示例

    示例 JTS基本概念和使用 JTS Geometry之间的关系 JTS algorithm package

  5. GMA Round 1 三角形

    传送门 三角形 在△ABC中已知$sin2A+sin2B+sin2C=\frac{3\sqrt{3}}{2}$,求$cos\frac{A}{2}*cos\frac{B}{2}*cos\frac{C}{ ...

  6. [LeetCode] Chalkboard XOR Game 黑板亦或游戏

    We are given non-negative integers nums[i] which are written on a chalkboard.  Alice and Bob take tu ...

  7. python联系-迭代器

    from collections import Iterable from collections import Iterator import time class Classmate(object ...

  8. HDU 6321 Dynamic Graph Matching

    HDU 6321 Dynamic Graph Matching (状压DP) Problem C. Dynamic Graph Matching Time Limit: 8000/4000 MS (J ...

  9. overflow:hidden;和clear:both;的不同点

    overflow:hidden;是针对被浮动元素的父级元素,是让父级元素找回原来的高,因为浮动的元素会让父级元素的高塌陷: 而clear:both:它是在新的元素上面书写,它是让上面浮动的元素不要干扰 ...

  10. Linux命令 file

    查看文件类型: