jenkins+Dockerfile自动项目

1.构建新的项目

1.1配置gitlab地址

jenkins+Dockerfile自动项目_第1张图片

1.2选择项目的分支:

jenkins+Dockerfile自动项目_第2张图片

配置触发器:
jenkins+Dockerfile自动项目_第3张图片

1.3 上传Dockerfile

jenkins+Dockerfile自动项目_第4张图片

为方便理解,下面提供Dockerfile文件内容:

FROM java:8
EXPOSE 8080
WORKDIR /root
ADD demo*.jar /root/app.jar
ENTRYPOINT ["java","-jar","/root/app.jar"]

1.4 上传jar包

jenkins+Dockerfile自动项目_第5张图片

1.5 编写post steps的执行指令

预编写指令

# 进入目标服务器的Docker和jar包所在的目录 ,注意Dockerfile和jar需要在同一目录下
cd /root/spring-demo4/

# 构建镜像
docker build -t spring-deme4 .

# 启动容器,其中Dockerfile中就已经配置了启动jar包,因此这里只需要启动容器即可
docker run -it -d --name=spring-demo4 -p 8080:8080 spring-deme4

在post steps的exec下填写这些指令
jenkins+Dockerfile自动项目_第6张图片

如此一来,就可以实现jenkins通过Dockerfile在目标服务器运行自己的程序了
但是如果再次运行,会构建不成功,因为每次构建都会构建镜像,而镜像为spring-demo4的镜像已经存在,因此要先删除镜像

1.6 配置运行前的 pre steps操作

# 进入项目路径
cd /root/spring-demo4/

# 删除项目下的Dockerfile文件和jar包
rm -rf ./*

# 停止容器
docker stop spring-demo4

# 删除容器
docker rm spring-demo4

# 删除镜像
docker rmi spring-deme4:latest

1.7 配置上传代码自动构建

jenkins+Dockerfile自动项目_第7张图片

你可能感兴趣的:(jenkins,java,运维)