您的位置:首页 > 运维架构 > Docker

(jenkins系列四)jenkins发布项目到docker

2020-07-16 06:05 706 查看

准备环境

本次先假定jenkins与要发布的服务器在同一台,实际生产环境中,有可能测试环境和生产环境分别部署有jenkins,也有可能一台jenkins用于多套环境、多台服务器的发布,这次先专注于docker的部署,jenkins不需要跨网络操作

自制JDK镜像

先自制一个jdk镜像,上传到自己的阿里云(阿里云免费提供镜像仓库服务),后面基于这个镜像构建自己的应用
新建目录/home/dockerfile,新建Dockerfile文件,并将JDK的压缩包拷贝到该目录下:

编写Dockerfile:

FROM centos:7
MAINTAINER yiyuankafei

ADD jdk-8u11-linux-x64.tar.gz /usr/local/

ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV PATH $PATH:$JAVA_HOME/bin

构建镜像:
docker build -t yiyuankafei-jdk:8 .
不要漏掉最后的点“.”

查看镜像列表:docker images

新建镜像tag,镜像ID为刚才构建的镜像ID
docker tag [镜像ID] registry.cn-shanghai.aliyuncs.com/yiyuankafei-jdk/jdk:8

登录阿里云镜像仓库:
docker login --username=byf124633367 registry.cn-shanghai.aliyuncs.com

推送到阿里云镜像仓库:
docker push registry.cn-shanghai.aliyuncs.com/yiyuankafei-jdk/jdk:8

可以到镜像控制台看一下是否推送成功(这步忘了截图,下图的仓库和版本后来切换过)

新建springboot项目DEMO

新建spring-boot项目,提供一个任意的测试接口,具体流程跳过
使用maven插件来构建镜像,在pom中添加如下配置
这段配置的作用类似于通过dockerfile构建镜像,比如<baseImage>类似dockerfile的FROM

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>registry.cn-shanghai.aliyuncs.com/yiyuankafei/test-docker-jenkins:latest</imageName>
<baseImage>registry.cn-shanghai.aliyuncs.com/yiyuankafei-jdk/jdk:8</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<comPress>true</comPress>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>

测试接口:

@RestController
@RequestMapping("/test")
public class TestController {

@RequestMapping("/t1")
public String test1(String name) {
System.out.println("test1");
return "test1: " + name;
}
}

jenkins新建项目

配置参数


配置源码地址

构建前操作

构建后执行shell

mvn package docker:build

docker  run  -d  -i  --name=testDockerJenkins  -p 9099:9099  registry.cn-shanghai.aliyuncs.com/yiyuankafei/test-docker-jenkins:latest

构建项目

查看镜像和容器

可以看到容器已经运行起来了(后来切换了阿里云镜像仓库,所以shanghai改成了hangzhou,这个不影响流程,关注主要步骤即可)

测试一下接口:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: