上一篇从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