從0開始搭建自動部署環境(續)

從0開始搭建自動部署環境(續)

前言

上一篇從0開始搭建自動部署環境雖然環境搭建起來了,可是配置少了一部分步驟。原本應該寫到上一篇中,可是這樣作篇幅過長了。另外,此篇會使用自動部署一個同步在Github上的Spring Boot項目爲例,介紹如何使用該自動部署環境。html

配置Global Tool Configuration

繼上一篇,登陸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

安裝插件並重啓

  • Maven Integration plugin (Maven集成,不然新建的時候沒有Maven Project)
  • Deploy to container Plugin (部署到Java容器中的插件)
  • Publish Over SSH (遠程Shell)
  • Monitoring (監控Jenkins所消耗的系統資源,如內存使用等)

插件安裝完成後須要重啓jenkins。http://ip:8080/restart就能重啓jenkins。git

建立Docker本地倉庫

參考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

  • 源碼管理——》Git,Repository URL值爲https://github.com/jeesun/hello
  • 構建觸發器——》Poll SCM——》日程表,值爲H/15 * * * *(設置每隔15分鐘作一次檢查)
  • Build——》Goals and options,值爲clean package docker:build
  • Post Steps——》Add post-build step——》Execute shell,內容爲
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

參考

  1. jenkins new job 沒有maven項目選項
  2. 使用Jenkins實現自動構建Maven項目
  3. Docker Registry 2.0
相關文章
相關標籤/搜索