jenkins-agent 老版本叫 jenkins-slave,利用K8S集群集成 JENKINS,可以更好的利用系统资源,扩展更方便。如果构建频繁 jenkins-agent iamge 比较大,不仅会影响磁盘I/O也占用网络资源,因此一个优秀的 jenkins-agent image 可以提高工作效率。
使用ALPINE 构建 jenkins-agent 比 使用CENTOS7 构建镜像 缩小了5倍。
如果不想自己构建 jenkins-agent,可以使用我编译好的,镜像仅仅103MB,如下:
docker pull koala2020/jenkins-agent
一、环境说明
1、环境说明
2、dockerfile 文件以及相关配置
镜像基于 alpine3.14 编译,安装了 maven、git、 openssh-client 、openjdk8
注意:在编译代码环节挂载的是宿主机的docker 环境,因此一定要保证 k8s node 的docker环境统一。默认是不启用helm,根据个人需求启用。
cat > dockerfile-jenkins-agent-alpine.yaml <<EOF
FROM koala2020/alpine:3.14
LABEL maintainer Koala2020
RUN sed -i 's#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g' /etc/apk/repositories && \\
apk update
RUN apk add --no-cache tzdata git maven openssh-client openjdk8 && \\
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \\
echo "/Asia/Shanghai" > /etc/timezone && \\
rm -rf /var/cache/apk/* && \\
rm -rf /tmp/*
RUN mkdir /lib64 && \\
ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
COPY agent.jar /usr/share/jenkins/agent.jar
COPY jenkins-agent /usr/bin/jenkins-agent
COPY settings.xml /usr/share/java/maven-3/conf/settings.xml
# COPY helm /usr/local/bin/
RUN chmod +x /usr/bin/jenkins-agent
ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk/jre
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
ENTRYPOINT ["jenkins-agent"]
EOF
settings.xml 文件需要添加如下
maven 版本不同,settings.xml 可能会不同,建议自己直接启动一个docker 安装maven copy出来
<!-- Another sample, using keys to authenticate.
<server>
<id>siteServer</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
编译镜像
docker build -f dockerfile-jenkins-agent-alpine.yaml -t jenkins-agent:alpine .
手机扫一扫
移动阅读更方便
你可能感兴趣的文章