爲啥做?
小貝:seller端部署,要先編譯,再替換文件,有***諸多文件需要替換
我:????
我:不如整一個自動部署吧
小貝:ok
目標:
首先得明確自動化部署的目標
1.jenkins從gitlab拉取分支
2.編譯拉取下來的代碼
3.連接需要部署的服務器
4.部署代碼
在完成目標的動作前,現將環境搭建好!
步驟
1.安裝maven,安裝jdk,配置環境變量(省略,網上一搜一堆)
2.安裝jenkins
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
3.配置jenkins
因爲我把jenkins安裝在10.20.*.*上,8080的端口已經被性能測試平臺佔用了,所以配置jenkins的端口爲8090
檢查下8090,有沒有被佔用,沒有的話就可以用了
netstat -lnp|grep 8090
4.查一下jenkins的安裝目錄信息
rpm -ql jenkins
修改端口號8090
vim /ect/sysconfig/jenkins
5.啓動jenkins
systemctl start jenkins
這個在瀏覽器輸入http://10.20.*.*:8090/
打開jenkins,首先要你輸入祕鑰:
cat /var/lib/jenkins/secrets/initialAdminPassword
複製下來輸入進去就好
此時這裏出現了一個巨大的天坑:
提示jenkins離線的提示,在這個坑點上花了很長時間。
解決方案:
1).systemctl stop jenkins 先停止服務
2).修改源
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml 修改jenkins源以下任意一個
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.esuni.jp/jenkins/updates/update-center.json
http://mirror.xmission.com/jenkins/updates/update-center.json
3).啓動
systemctl start jenkins
這個時候在打開http://10.20.*.*:8090/ ,便不會報離線錯誤了。
但是後面下載插件的時候全部是失敗的,看jenkins的日誌還是源連接不上。
此處重點:
去 /var/lib/jenkins 目錄下的 updates文件
vim default.json 將www.google.com 修改爲www.baidu.com 保存
以上步驟做了之後纔會成功。但是在沒有插件下載更新之前,是沒有這個目錄的,需要等到這個目錄出現後更改。
此坑太深。
改完後再重啓jenkins,總算正常了。
6.插件下載
參照:
常用插件參考
https://www.cnblogs.com/zhanglianghhh/archive/2018/10/11/9770529.html
https://www.jianshu.com/p/e0b7d377132a?from=timeline
必須安裝 Git Parameter 插件,用於拉取分支
至此整個jenkins環境算是ok了!下一篇爲部署過程