要安裝jenkins,須要下載jenkins的rpm包,雖然可使用docker安裝,但這裏不推薦。html
jenkins rpm包的下載地址爲http://pkg.jenkins-ci.org/redhat/java
建議下載最新版jenkins-2.190-1.1.noarch.rpmgit
在安裝以前須要先安裝jdk 8,mavenspring
jdk地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmldocker
maven地址http://maven.apache.org/download.cgishell
下載解壓jdk和maven以後,編輯/etc/profile文件(你的安裝路徑根據你本身的喜愛決定)apache
export JAVA_HOME=/home/java/jdk1.8.0_221
export MAVEN_HOME=/home/maven/apache-maven-3.6.1
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar瀏覽器
保存後執行source /etc/profilespringboot
安裝git服務器
yum install git
而後是安裝jenkins
rpm -ivh jenkins-2.190-1.1.noarch.rpm
安裝啓動以前請作以下修改
service jenkins start啓動服務。
打開瀏覽器訪問你服務器的ip和端口以後,通過一路next進入這個畫面
點Manage Jenkins後,進入該畫面
咱們須要先安裝插件,在可選插件中搜搜maven,安裝如圖插件是必須的,點直接安裝便可。
再從新搜索SSH,此處大寫,再安裝Publish Over SSH,是爲了給遠程其餘服務器安裝設置ssh登陸的
要進行遠程部署,須要先將你的服務器之間設置ssh免密碼登陸,具體能夠參考如何在多臺服務器添加ssh的免密碼登陸
安裝完以上插件,在進行一次部署以前,須要先設置一些經常使用工具的配置
點進去以後,能夠設置須要用到的jdk,maven,git
設置完成以後點保存
咱們能夠開始嘗試第一次構建
輸入構建名稱,選「構建一個maven項目」
進入構建頁面後,能夠先填一個描述名稱
源碼管理選擇Git,填入你的git地址,用戶名,密碼以及分支(默認爲master,我這裏爲huaweiyun分支)
此處爲maven設置,咱們在此構建的命令爲clean package -Dmaven.test.skip=true,意思爲清理,打包,跳過測試
保存後,就能夠開始咱們的第一次構建
構建會出現構建日誌
相似於本地打包同樣,構建一次就會去gitlab拉取代碼,而後使用maven進行編譯,打包成jar包。
雖然構建成功了,但我能須要對構建後的jar包進行部署,咱們先採用shell命令的方式對jenkins安裝的服務器進行一次部署
點配置,進入以前的配置界面
選擇Run only if build succeeds,Add post-build step選擇「執行shell」.
填入shell語句以下
cp /var/lib/jenkins/workspace/車福管家/register-center/target/register-center.jar /home/soft/regist/
docker stop register
docker rm register
docker rmi repo/register
cd /home/soft/regist
docker build -t repo/register ./
docker run -d --name register --net=host repo/register
從新構建後,將會開始部署,結果以下
/home/soft/regist目錄結構以下
具體Dockerfile能夠參考如何建立一份springboot的docker鏡像
若是咱們須要把jar包發送到其餘服務器進行部署,這就須要進行遠程ssh管理
要進行遠程發佈,就必須配置咱們以前安裝到Publish Over SSH
點擊配置系統,進入以下到界面(拉到最底端)
填入你其餘服務器的ip,用戶名,你要把jar包拷貝到文件夾
點高級
填入你遠程主機的密碼
保存後從新建立一個構建項目
在最後一步選擇如圖所示的選項
SSH Server是咱們剛纔設置進去的
Source files是maven生成jar包的目錄,我這裏爲: /var/lib/jenkins/workspace/車福管家配件中心/serviceprovider-center/target/serviceprovider-center.jar
Remote directory爲你要將文件複製到該服務器的文件夾
Exec command爲該服務器要執行的shell命令,其實跟本地服務器大同小異。
scp root@192.168.1.239:/var/lib/jenkins/workspace/車福管家配件中心/serviceprovider-center/target/serviceprovider-center.jar /home/soft/service/
docker stop service
docker rm service
docker rmi repo/service
cd /home/soft/service
docker build -t repo/service ./
docker run -d --name service --net=host repo/service
最後進行構建,結果如圖所示。
另外須要注意的是屢次構建會在/var/lib/jenkins/jobs產生大量的記錄,會大量佔用磁盤空間,須要按期清理
cd /var/lib/jenkins/jobs
rm -rf *
若是在磁盤產生堆積時能夠用
du -h --max-depth=1 |sort 命令來進行逐層查找。