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

准备环境

本次先假定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,这个不影响流程,关注主要步骤即可)
在这里插入图片描述

测试一下接口:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值