git——使用Jenkins构建Docker镜像并自动上传到私有仓库

  • 在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上建立一个新的任务
    在这里插入图片描述
  • 这里通过上一个任务来执行
    在这里插入图片描述
  • 通过脚本的方式运行镜像
    在这里插入图片描述
    -执行后触发
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值