最近花了一段時間研究jenkins這個工具。所以寫下這篇文章,算是當做記錄吧!
Jenkins是一個開源的、提供友好操作介面的持續整合(CI)工具,起源於Hudson(Hudson是商用的),主要用於持續、自動的構建/測試軟體專案、監控外部任務的執行(這個比較抽象,暫且寫上,不做解釋)。Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中執行,也可獨立執行。通常與版本管理工具(SCM)、構建工具結合使用。常用的版本控制工具有SVN、GIT,構建工具有Maven、Ant、Gradle。
如果我們沒用到jenkins,我們專案中,要發版了,我們都有些什麼流程?
非jenkins
jenkins
哇,不會吧,jenkins這麼厲害?我要學,我要學!!!!!!
低調低調,常規操作!!
以下安裝是基於linux系統,jenkins安裝是有前提的哦,jdk和maven這兩個環境是必須的哦。
nohup java -jar /home/jenkins.war --httpPort=8888 >/usr/local/jenkins/jenkins.out 2>&1 &
/home/jenkins.war 是你linux上的路徑
/usr/local/jenkins/jenkins.out 是日誌輸出檔案
你沒看錯,就是這麼簡單,jenkins服務就啓動起來了,我們可以愉快的localhost:8888訪問了
臥槽~~ 這是啥,解鎖,好高階的樣子。
白眼一瞟,要密碼,不要慌,圖片中紅色位置已經告訴你密碼的位置了,你只需要cat下即可
cat /root/.jenkins/secrets/initialAdminPassword
關鍵時刻來了,登陸進去之後,又來個選擇,不要慌,按推薦的走。
開始 安裝 外掛
安裝完成後,建立使用者名稱和密碼
這樣jenkins安裝就完成了。
這裏有的同學就會說到,不是說要用到jdk和maven嗎?在哪兒用到了?
這位同學,坐好,不要急,下面 下麪我們就開說說在哪兒用到了。
點選設定,我們先設定一波工作環境,方便後續開發。
剛剛那位同學,別睡覺了,敲黑板了,這裏是不是就用到了jdk和maven環境了。
工作環境都設定完成了,我們開始構建專案~
點選構建專案,開啓設定專案之旅。
簡單描述下而已,不要偷懶哦。
如果是svn就設定svn地址,git的話,就設定git地址。
然後第一次的話,第二行是顯示無的,可以點後面的新增,把git或者svn的賬號密碼新增進去即可。
這裏的專案地址是/root/.jenkins/workspace這個目錄下的哦,然後裏面資料夾是構建專案名稱來了,一個構建專案一個資料夾。第一次對這個路勁不熟的,你可以先這樣設定這,build完之後,去這個檔案裏面看看是什麼,就進行設定修改即可。
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./ljdy-auth
service_name="ljdy-auth"
service_prot=3000
#檢視映象id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
echo "exist $SERVER_NAME image,IID=$IID"
#刪除映象
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#構建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
echo "no exist $SERVER_NAME image,build docker"
#構建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#檢視容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#刪除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#啓動
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#檢視啓動日誌
#docker logs -f $service_name
一切設定完成,我們點選儲存,然後點選下面 下麪的build now,開始構建。
構建的過程中,這個位置是有個進度條的,你可以點選進度條看日誌
最後,從安裝到構建就全部完成了,下次要版,只需小手點一點即可完成。