Harbor 是咱們國產的docke倉庫具體詳細了解請參考以下連接
https://blog.csdn.net/csdn_duomaomao/article/details/78036331
http://blog.itpub.net/28624388/viewspace-2153546
如何將Jenkins和Harbor 相互結合,下圖是比較理想的狀態,當然還缺一下管理工具等等

當你部署完harbor之后,創建好相應的項目,以及用戶信息。
接下來就開始配置Jenkins了
前面Jenkins的配置 跟我之前寫的博客有重復所以不在這一一列舉了

這個部分就是你的java代碼構建之后進行的操作
腳本內容
#!/bin/bash #獲取鏡像id imagesid=`docker images|grep -i docker-harbor|awk '{print $3}'` project=/harbor_repo/ #dockerid=`docker ps -a|grep -i docker-test|awk '{print $1}' ` echo $project #判斷鏡像是否存在如果存在則刪除,否則不刪除 if [ ! -n "$imagesid" ];then echo $imagesid "is null" else docker rmi -f $imagesid fi #進入工作目錄 cd $project #生成新的鏡像 docker build -t docker-harbor . #登錄docker倉庫 docker login -u admin -p Harbor12345 192.168.10.110 #上傳鏡像到鏡像倉庫 docker tag docker-harbor 192.168.10.110/my_data/docker-harbor:1 docker push 192.168.10.110/my_data/docker-harbor:1
最終達到效果
Jenkins輸出日志
Sending build context to Docker daemon 45.6 MB Step 1/4 : FROM java8 ---> 6a6b9be10cdd Step 2/4 : ADD ./target/raymedy.war /root/apache-tomcat-7.0.92/webapps ---> 67b92d6b55ec Removing intermediate container 0f072b0eea0b Step 3/4 : EXPOSE 8080 ---> Running in 444cd5db90ae ---> bd9eca176876 Removing intermediate container 444cd5db90ae Step 4/4 : CMD /root/apache-tomcat-7.0.92/bin/catalina.sh run ---> Running in dd3040e31d2f ---> 4030cf9e821e Removing intermediate container dd3040e31d2f Successfully built 4030cf9e821e Login Succeeded The push refers to a repository [192.168.10.110/my_data/docker-harbor] e2d60c921771: Preparing 8bd3de159ec9: Preparing 3cded00e5415: Preparing 071d8bd76517: Preparing 071d8bd76517: Layer already exists 8bd3de159ec9: Layer already exists 3cded00e5415: Layer already exists e2d60c921771: Pushed 1: digest: sha256:0c1b67f4d4d3f994a5fc517d02115513933bd25d237e76ce9a6d8e38e8a58b1f size: 1165 SSH: EXEC: completed after 4,803 ms SSH: Disconnecting configuration [192.168.10.110] ... SSH: Transferred 2 file(s) Finished: SUCCESS
鏡像自動更新,這樣其他地方就可以直接獲取docker鏡像文件了

不足之處請多指教
