由于我们Jenkins构建的时候,官方提供的jenkins-agent没有我们使用的工具,比如helm,kubectl,curl,argocd等,因此,我们需要集成进来。
注意官方镜像名称有变化:
jenkins/agent镜像,原名称为jenkins/slave,从4.3-2 开始更名为jenkins/agent
jenkins/inbound-agent 镜像:原名称为 jenkins/jnlp-slave ,从 4.3-2 开始更名为 jenkins/inbound-agent
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
| FROM jenkins/inbound-agent:4.11-1-alpine-jdk11
USER root
ADD docker/docker /usr/bin/docker
ADD kubectl /usr/bin/kubectl
ADD helm /usr/bin/helm
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN chmod +x /usr/bin/docker /usr/bin/kubectl /usr/bin/helm
RUN apk add curl
ENTRYPOINT ["/usr/local/bin/jenkins-agent"]
|
构建
1
| docker build -t harbor.test.com/tools/jnlp-docker:4.11-1-alpine-jdk11 -f Dockerfile .
|