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指向這個網站根目錄  , 這里就不再敘述了

 查看控制台輸出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM