- 在jenkins上安装docker的插件

- 在本机安装docker并添加仓库镜像


- 给docker.sock添加权限

- 在jenkins上之前的任务中添加docker插件



- 上传要构建的镜像

- 在git端编写dockerfile
[root@server1 demo]# ls
Dockerfile index.html README.md
[root@server1 demo]# vim Dockerfile
[root@server1 demo]# cat Dockerfile
FROM nginx:1.16.0 as base
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
ARG Asia/Shanghai
RUN mkdir -p /opt/var/cache/nginx && \
cp -a --parents /usr/lib/nginx /opt && \
cp -a --parents /usr/share/nginx /opt && \
cp -a --parents /var/log/nginx /opt && \
cp -aL --parents /var/run /opt && \
cp -a --parents /etc/nginx /opt && \
cp -a --parents /etc/passwd /opt && \
cp -a --parents /etc/group /opt && \
cp -a --parents /usr/sbin/nginx /opt && \
cp -a --parents /usr/sbin/nginx-debug /opt && \
cp -a --parents /lib/x86_64-linux-gnu/libpcre.so.* /opt && \
cp -a --parents /lib/x86_64-linux-gnu/libz.so.* /opt && \
cp -a --parents /lib/x86_64-linux-gnu/libc.so.* /opt && \
cp -a --parents /lib/x86_64-linux-gnu/libdl.so.* /opt && \
cp -a --parents /lib/x86_64-linux-gnu/libpthread.so.* /opt && \
cp -a --parents /lib/x86_64-linux-gnu/libcrypt.so.* /opt && \
cp -a --parents /usr/lib/x86_64-linux-gnu/libssl.so.* /opt && \
cp -a --parents /usr/lib/x86_64-linux-gnu/libcrypto.so.* /opt && \
cp /usr/share/zoneinfo/${TIME_ZONE:-ROC} /opt/etc/localtime
FROM gcr.io/distroless/base
COPY --from=base /opt /
copy index.html /usr/share/nginx/html/index.html
EXPOSE 80 443
ENTRYPOINT ["nginx", "-g", "daemon off;"]
- 上传到gitlab

- 之前我们gitlab和kenjins已经打通,所以在jenkins端可以看到刚刚上传的dockerfile

- 执行后看到仓库里有nginx


- 在jenkins上建立一个新的任务

- 这里通过上一个任务来执行

- 通过脚本的方式运行镜像

-执行后触发

本文详细介绍了如何在Jenkins上安装并配置Docker插件,实现自动化构建Docker镜像的过程。从本地安装Docker及镜像仓库设置,到Dockerfile编写与上传,再到Jenkins任务创建与脚本运行,全面覆盖了Docker与Jenkins集成的关键步骤。
748

被折叠的 条评论
为什么被折叠?



