部署前呢,要先把jenkins搭建好。
同时呢已经有了k8s的环境。
基于以上两步已经有了的情况,继续要实现jenkins+k8s持续集成,需要先准备四个文件:
Dockerfile | 首先要准备好一个Dockerfile文件,用于构建Docker镜像的文本文件 |
project.yaml | 这个是部署应用的yaml文件,名字可以取项目的名字,例如cool-hello.yaml |
project-svc.yaml | 这个文件是将应用的端口和暴露对外的端口进行映射,名字可以是应用名字接svc来命名 |
jenkins.sh | 是执行部署的脚本 |
目录
一、Dockerfile怎么写呢?
挂载目录和项目名字需要改成自己的。
# 基础镜像
FROM openjdk8-alpine-cst:v1.0.0
# author
MAINTAINER hello
# 挂载目录
VOLUME /home/hello
# 创建目录
RUN mkdir -p /home/hello
# 指定路径
WORKDIR /home/hello
# 复制jar文件到路径
COPY ./hello.jar /home/hello/hello.jar
# 启动认证服务
ENTRYPOINT java ${JAVA_OPTS} -Dfile.encoding=utf-8 -jar hello.jar --spring.profiles.active=${SPRING_PROFILES_ACTIVE}
二、project.yaml怎么写呢?
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-deploy #这里可以改成自己项目+deploy
namespace: hello #这个命名空间可以改成自己的
labels: #本发布
app: hello-deploy #这里可以改成自己项目+deploy
version: v1.0.0
spec:
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels: #需匹配资源
app: hello #这里可以改成自己项目名
version: v1.0.0
template:
metadata:
labels: # 资源标签
app: hello #这里可以改成自己项目名
version: v1.0.0
spec: # 资源规范
containers:
- nam