如图所示,进入安装插件页面:
点击安装即可。
如上图所示,进入账号维护页面:
添加账号和密码,点击下边的保存:
拉倒最下边:
(4)maven环境:
点击创建maven工程:
备注说明:
(1)当前的jenkins工作空间目录为:/var/lib/jenkins/workspace/
(2)因为需要在远程ssh的服务器docker执行镜像的生成,远程服务器需要项目jar文件和Dockerfile文件。所以这里提前把文件都复制到maven-archiver(这个文件下边的文件比较少)文件下边了,
其实可以随便那个目录都行,主要是后边配置ssh远程复制的时候,只执行一次远程连接复制。
(3)Dockerfile文件是spring boot项目根目录(和pom同级)下创建的,生成镜像使用,具体内容如下:
# 添加 Java 8 镜像来源 FROM java:8 # 添加参数,其中的ARG参数JAR_FILE即在pom.xml中传入的buildArgs:JAR_FILE ARG JAR_FILE COPY ${JAR_FILE} auth.jar EXPOSE 8802 # 执行启动命令 ENTRYPOINT ["java","-jar","/auth.jar"]
(4)spring boot的pom中maven打包配置:
<build> <finalName>${project.artifactId}</finalName> <plugins> <!-- Spring Boot Maven 插件打包,打成jar,直接在linux系统执行 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.4.13</version> <configuration> <repository>${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin> </plugins> </build>
远程执行的脚本(方便复制):
#!/bin/bash cd /usr/local/soft/project/zhxy-auth echo “构筑镜像start” docker build -t zhxy-auth . echo “构筑镜像end” MICROSERVICE="zhxy-auth-container1" startflag=$(docker inspect --format ‘{{.State.Running}}‘ "$MICROSERVICE") exit=$(docker ps |grep "$MICROSERVICE") echo “容器的名称:” echo $MICROSERVICE echo “容器运行状态” echo $startflag start(){ echo "容器存在,删除容器" docker rm -f "$MICROSERVICE" echo "删除容器成功" echo "删除后创建容器" docker run --name "$MICROSERVICE" --restart=always -d -p 8802:8802 zhxy-auth echo "容器创建完成端口8802" } echo "开始启动" if [ "$exit" == "" ];then echo "没有容器,新建容器" docker run --name "$MICROSERVICE" --restart=always -d -p 8802:8802 zhxy-auth echo "第一次容器创建完成端口8802" else echo "容器存在" start fi echo “启动结束” docker ps -a docker run --name zhxy-auth-container1 --restart=always -d -p 8802:8802 zhxy-auth echo "删除未用镜像节省空间" docker rmi -f `docker images -a | grep ‘<none>‘ | awk ‘{print $3}‘` docker ps -a echo "运行成功"
备注:
/usr/local/soft/project/zhxy-auth就是上图中复制到远程的目录。
可以构建部署项目了,至此文档完成!
Jenkins使用docker部署Spring boot项目至远程服务器
原文:https://www.cnblogs.com/yanlaile/p/14627150.html