@初探在容器上构建持续部署( 四 )
}
}
}
如果你想了解Jenkins命令详情 , 请参阅Set Up a Jenkins CI/CD Pipeline with Kubernetes
https://akomljen.com/set-up-a-jenkins-ci-cd-pipeline-with-kubernetes/
我们这里并没有重新生成Go程序的镜像文件 , 而是复用了以前就有的k8s创建Go程序的镜像文件 , Go程序的镜像文件路径是“scriptkubernetesbackenddockerDockerfile-k8sdemo-backend” 。
它的代码如下 。 后面还会讲到这样做的好处 。
# vagrant@ubuntu-xenial:~/app/k8sdemo/script/kubernetes/backend$
# docker build -t k8sdemo-backend .
FROM golang:latest as builder
# Set the Current Working Directory inside the container
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
WORKDIR /app/cmd
# Build the Go app
#RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main.exe
RUN go build -o main.exe
######## Start a new stage from scratch #######
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
# Copy the Pre-built binary file from the previous stage
COPY --from=builder /app/cmd/main.exe .
# Command to run the executable
# CMD exec /bin/bash -c ''trap : TERM INT; sleep infinity & wait''
CMD
关于Go镜像文件详情 , 请参阅创建优化的Go镜像文件以及踩过的坑
https://blog.csdn.net/weixin_38748858/article/details/102714799
部署镜像:
下面部署Go程序到k8s上 , 这里也没有用kubectl插件 , 而是直接用kubectl命令调用已经存在的k8s的部署和服务配置文件(文件里会引用生成的Go镜像) , 它的好处后面也会讲到 。
stage('Deploy') {
container('modified-jenkins') {
sh ''kubectl apply -f ${WORKSPACE}${kubBackendDirectory}/backend-deployment.yaml''
sh ''kubectl apply -f ${WORKSPACE}${kubBackendDirectory}/backend-service.yaml''
}
}
关于k8s的部署和服务配置文件详情 , 请参阅把应用程序迁移到k8s需要修改什么?
https://blog.csdn.net/weixin_38748858/article/details/102758381
- 为什么没用Declarative?
如果你想知道怎样在Declarative模式下设置挂载卷 , 请参阅Jenkins Pipeline Kubernetes Agent shared Volumes
https://devops.stackexchange.com/questions/4695/jenkins-pipeline-kubernetes-agent-shared-volumes
- 自动执行项目:
推荐阅读
- 【大连】大连化物所:通过纳米反应器的电催化效应构建高性能的锂硫电池
- []构建120Hz壁垒,全球最快充电,Find X2标准版表现均衡且全面
- 『甘肃』“绿”动甘肃加快构建清洁高效能源体系
- 砍柴网:华为云 Volcano 容器批量计算正式成为 CNCF 官方项目
- 计算:引领云原生|华为云Volcano容器批量计算正式成为CNCF官方项目
- 『karl』视觉设计软件公司「Lucid Software」获 5200 万美元融资,帮助用户构建工作图表
- 「海信」海信发布2020年4大系列电视新品 构建超画质和全场景娱乐体验
- 「」从0到100,用户画像的构建思路,值得学习参考!
- 「路由器」接上U盘就能构建虚拟局域网!蒲公英X5路由器使用体验分享
- 『IBM中国』全球CEO洞察:构建数据优势,这3大领域是关键!
