一、搭建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的測試按鈕,看是否能正常觸發構建。