獲得jenkins 鏡像
搜索jenkins相關(guān)鏡像
docker search jenkins
可以看到官方提供的鏡像有OFFICAIAL標(biāo)識
通常也可以到docker store搜到所需鏡像的使用說明 我是鏈接
下載鏈接
docker pull jenkins/jenkins
啟動鏡像
docker run -d -p 8080:8080 -p 50000:50000 -v /root/docker/jenkins:/var/jenkins_home jenkins/jenkins:latest
-d的意思是后臺運行
-v + 本地路徑:容器路徑 :示例為將容器的/var/jenkins_home路徑掛載到本地/jenkins 這么做的原因是/var/jenkins_home 為jenkins的運行文件目錄丐巫,保存運行相關(guān)數(shù)據(jù),如果不掛載到本地励烦,當(dāng)前鏡像進程結(jié)束后不屬于鏡像的文件就會丟失泼诱≈瓮玻可以理解為鏡像本身是不變的,每次運行都是從頭開始友多。
登錄并初始化
瀏覽器通過地址:8080端口訪問
提示輸入秘鑰
由于是后臺啟動鏡像域滥,日志沒有輸出到終端內(nèi)启绰,可以從啟動日志中查詢秘鑰:
1:查詢當(dāng)前運行鏡像的ID
查詢狀態(tài)命令:
docker ps
如果查詢不到對應(yīng)進程委可,可能失敗
docker ps -a
查看所有着倾,包含掛掉的鏡像
然后使用
docker logs 鏡像id
查看日志燕少,如果發(fā)現(xiàn)是沒有目錄權(quán)限造成
sudo chown -R 1000:1000 /home/docker/jenkins
修改權(quán)限再啟動
2:查詢?nèi)罩久?br>
docker logs -f -t --since="2017-05-31" ${id}
根據(jù)上一步查詢到的ID:輸入命令
docker logs -f -t --since="2017-05-31" 2833f00d6755
可以秘鑰
填入秘鑰后提供初始化選項虎眨,我選擇install suggested plugin
接著會進行一系列安裝嗽桩,完畢會要求你填寫管理員賬戶信息
填寫后即可啟動:
安裝全局工具
JDK
git
maven
點擊save保存變更
安裝maven項目插件
安裝通過SSH發(fā)布插件
用于打包結(jié)束后把jar包遠(yuǎn)程發(fā)布到運行服務(wù)器用(注:這只是運行應(yīng)用的一種辦法)
在插件管理中安裝該插件:
在系統(tǒng)設(shè)置里配置遠(yuǎn)程服務(wù)器
配置遠(yuǎn)程連接屬性:
name:后續(xù)指定連接服務(wù)器
hostname:遠(yuǎn)程服務(wù)器ip
username:用戶名
passphrase:密碼
配置完后記得保存。
創(chuàng)建一個maven 項目
配置代碼來源:
示例選擇git
首先填寫用戶名密碼
然后填寫url
構(gòu)建配置
運行工程jar包
這里使用的通過SSH方式連接一個服務(wù)器栅隐,然后運行一個腳本 :
腳本很簡單:大致為查詢已經(jīng)運行的服務(wù)進程號租悄,如有則刪除,然后運行打包出來的這個jar包胶哲。spring boot集成了web容器鸯屿,所以可以直接通過jar命令啟動
kill -9 `ps aux | grep com.progen.Application | grep -v grep | awk '{print $2}'`
cp /dev/null nohup.out
nohup /jenkins/tools/hudson.model.JDK/bin/java -jar /jenkins/workspace/test/target/progen-0.0.1.jar com.progen.Application &
exit 0
其實是本地運行萎胰,就“偷懶”使用jenkin安裝的那個( /jenkins/tools/hudson.model.JDK/bin/java),而/jenkins/workspace/test/target/為打包的路徑技竟,所以在source files 和Remote directory沒有配置屈藐,既沒有吧本地的jar包傳輸?shù)竭h(yuǎn)程目錄联逻。
僅配置運行腳本
這里運行的時候需要加上nohup 包归,不然運行結(jié)束后jenkins沒有判斷為成功結(jié)束,構(gòu)建結(jié)果會顯示為超時而不是成功换可。