持續集成環境(Gitlab+jenkins+shell)


一、搭建gitlab

  ps:不是這方面的專家,主要還是一鍵式安裝為主。

  1、進入官網:https://about.gitlab.com/gitlab-com/

  2、選擇自己的操作系統:我這邊選擇的ubuntu 14

  3、根據提示的方式進行安裝(不過一般都安裝不成功,主要是牆的太厲害了)

  -------------------------------------------------------

  所以我自己選擇自載deb包,利用dpkg -i命令進行安裝

 

  1、可以先根據官方提示安裝依賴包,一般是 openssh-server postifx等,前者是ssh授權登錄使用,后者是gitlab默認的郵件傳輸軟件

  2、下載deb包(centos/red hat系列的是另外一個rpm的),拷貝到/tmp目錄下

  (如果網絡可以連接下載的話,可以到https://packages.gitlab.com/gitlab/gitlab-ce下載,我是使用了一個阿里雲香港的服務器先下載到服務器,再用本地的VPN下載,這樣速度也才100kb左右,不過沒辦法,不用這個的話才最多十幾kb的下載速度)

  ----------------

  百度雲盤分享:

deb(Debian系列的linux,如ubuntu):
地址:http://pan.baidu.com/s/1dELDoEd 提取密碼:j3rc

rpm(redhat系列,如centos)
鏈接: http://pan.baidu.com/s/1c1aQYy
密碼: yma9

 

  3、執行解壓安裝

dpkg -i /tmp/gitlab-ce_8.3.2-ce.0_amd64.deb
# rpm
# rpm -i /tmp/gitlab-ce_8.3.2-ce.0_amd64.rpm

  

  4、安裝好之后,根據提示執行

  

gitlab-ctl reconfigure

  

  5、修改http訪問的啟動端口,gitlab默認使用的nginx

  

vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

 

 將類似於下面的端口80改成自定義的端口,如:8080

server {
  listen *:80;

  6、重啟gitlab

gitlab-ctl restart

 

  7、訪問域名地址和端口(前面修改的8080),如:http://gitlab.gabin.top:8080

  默認的賬號是:root  

  密碼:5iveL!fe

  新版本好像會直接讓你重設密碼,賬號也是root。

  

二、安裝jenkins

  1、進入官網:https://jenkins.io/index.html

  2、選擇自己適合的系統安裝

  3、可以選擇按照頁面上方的命令提示進行安裝,也可以選擇下載下方的deb包上傳到服務器上利用dpkg -i的命令進行解壓安裝  

# 添加倉庫到apt軟件管理
wget -q -O - http://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ >> /etc/apt/sources.list
# 更新apt
sudo apt-get update
# 安裝jenkins
sudo apt-get install jenkins
# 下面是使用dpkg 安裝deb包的方法
# dpkg -i gitlba-ce.deb

  4、修改jenkins端口

  

vim /etc/init.d/jenkins
# centos的目錄可能不一樣,使用sudo find / -name 'jenkins'找一下即可

  找到:HTTP_PORT改成自己需要的端口

  5、重啟jenkins

service jenkins restart

 

  6、訪問jenkins,並安裝所需的插件(Maven、Gitlab Hook、git),這些大家自己研究一下,不難。

 

三、在gitlab中創建一個git項目

  1、通過web系統進行操作

  2、編輯項目,進入項目頁,在右上角點擊編輯按鈕(不同版本可能界面會有不同)

  3、選擇web hooks進行配置,其實就是增加一個推送地址,每當項目提交的時候就往這個地址推送數據,這邊的url地址需要填寫jenkins項目中的地址

四,配置jenkins job

  1、新建一個job(如果已經成功安裝maven插件,則會出現maven項目的選擇)

  2、配置項目源代碼管理

  注意這邊需要配置一個授權賬號,我這邊配置的是gitlab所在服務器的ssh私鑰

  3、配置構建觸發器,就是開始執行源碼更新->編譯->測試->部署的條件,我們這邊選擇gitlab hook,就是gitlab的鈎子,只要gitlab有提交代碼或其他設置的條件,就會自動執行構建操作,標紅的地址上面就有提到過,是用於gitlab中web hooks地址填寫欄位的,但要注意這個地址必須是可以在gitlab服務器上訪問的。

  4、配置構建成功之后部署生產環境,這邊選擇只在成功的情況下部署,另外使用BUILD_ID=dontKillMe來執行一個shell腳本

(因為jenkins執行構建完成后會自動kill進程,如果部署環境還沒完成,則會終端),這邊的update.sh是一個生產環境下的自動部署腳本,為了保證jenkins有這個執行腳本的權限,我們可以設置/etc/default/jenkins文件中的用戶改為root,這樣我們就有執行ssh的相關權限了。

#JENKINS_USER=$NAME
#JENKINS_GROUP=$NAME
JENKINS_USER=root
JENKINS_GROUP=root

 

  5、在gitlab的項目編輯頁面中選擇web hooks,點擊已經添加的web hooks的測試按鈕,看是否能正常觸發構建。


免責聲明!

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



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