上一篇從0開始搭建自動部署環境雖然環境搭建起來了,可是配置少了一部分步驟。原本應該寫到上一篇中,可是這樣作篇幅過長了。另外,此篇會使用自動部署一個同步在Github上的Spring Boot項目爲例,介紹如何使用該自動部署環境。html
繼上一篇,登陸jenkins,完成上一篇沒有完成的後續配置。Jenkins——》系統管理——》Global Tool Configuration,在其中配置JDK、git、Maven。java
Tool | Configuration |
JDK | 別名=openjdk1.8.0 |
JAVA_HOME=/usr/lib/jvm/java | |
git | Name=git |
Path to Git executable=/usr/bin/git | |
Maven | Name=maven3.5.2 |
MAVEN_HOME=/opt/apache-maven-3.5.2 |
插件安裝完成後須要重啓jenkins。http://ip:8080/restart
就能重啓jenkins。git
參考Docker Registry 2.0github
docker run -d -p 5000:5000 --restart always --name registry registry:2
hello項目是我寫的一個用來測試環境的Spring Boot項目,代碼託管在github上。我想實現的是:jenkins每隔15分鐘自動檢查github上的hello項目源碼,若是項目有更新,就自動獲取更新打包部署。docker
新建——》構建一個Maven項目。名稱就叫hello,點擊「OK」跳轉到項目配置頁面。具體配置以下:shell
https://github.com/jeesun/hello
H/15 * * * *
(設置每隔15分鐘作一次檢查)clean package docker:build
API_NAME="hello" API_VERSION="0.0.1" API_PORT=8761 IMAGE_NAME="127.0.0.1:5000/com.jeesun/$API_NAME:$BUILD_NUMBER" CONTAINER_NAME=$API_NAME-$API_VERSION cd $WORKSPACE/target cp classes/Dockerfile . docker tag 127.0.0.1:5000/com.jeesun/$API_NAME $IMAGE_NAME docker push $IMAGE_NAME cid=$(docker ps | grep "$CONTAINER_NAME" | awk '{print $1}') if [ "$cid" != "" ]; then docker rm -f $cid fi docker run -d -p $API_PORT:8080 --name $CONTAINER_NAME $IMAGE_NAME
配置完成後,點擊「Save」。選擇頁面左側的「當即構建」,若是順利,訪問http://ip:8761
,頁面出現hello, new world
,說明成功。apache
若是沒法訪問http://ip:8761
,須要確認防火牆是否關閉,或者選擇開放8761端口。jvm