使用Drone
构建Docker
镜像一键发布并推送电报通知
书接上回,上文已经搭建好了
Drone CI
环境,本文就搭建一个Golang + Docker的Demo。
具体代码见:示例代码
准备工作⌗
- 一个电报机器人,文档请点我查看(需要一把梯子)
- 一个项目,可以直接用上文的实例Demo
食用方式⌗
- 在
Gitea
创建一个空项目,本过程不赘述。 - 打开
Drone CI
后台,点击右上角SYNC
按钮更新项目目录,更新完毕之后点击项目右侧ACTIVAVE
按钮,然后点击ACTIVATE REPOSITORY
按钮启用自动化 - 初始化项目
- 编写
.drone.yml
文件,可参考下文
- 编写
Dockerfile
文件
FROM alpine
MAINTAINER LiXunHuan(lxh@cxh.cn)
# 创建工作目录,修改alpine源为中科大的源,安装必要工具
RUN mkdir -p /app && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add ca-certificates && update-ca-certificates && \
apk add --update tzdata && \
rm -rf /var/cache/apk/*
WORKDIR /app
# 这个go-app 是上面.drone.yml里面编译生成的文件,酌情修改
COPY go-app ./
ENV TZ=Asia/Shanghai
EXPOSE 8080
ENTRYPOINT ./go-app
- 推送项目到
Gitea
私服,Drone
会自动处理 - 打包完成之后,随便找个服务器pull镜像,然后运行测试效果
效果预览⌗
Drone
运行截图1Drone
运行截图2Nexus
私服镜像图