logo

Docker + GitHub Actions 持续集成工作流

May 3, 20235 min read

This post was last modified 327 days ago, and some of the content may be outdated.

Docker + GitHub Actions 持续集成工作流

前言

本文讲解如何使用 GitHub Actions 配合 Docker 进行开发部署过程中的持续集成工作流。

这里默认您已编写好项目的 Dockerfile 文件,Dockerfile 的写法可通过我前面的文章进行学习:Docker 快速部署 Node express 项目

至于为什么使用 GitHub Actions,这里引用官方:

在 GitHub Actions 的仓库中自动化、自定义和执行软件开发工作流程。 您可以发现、创建和共享操作以执行您喜欢的任何作业(包括 CI/CD),并将操作合并到完全自定义的工作流程中。

手动构建镜像并推送到阿里云

我们目前的工作流是 更新代码 + 构建镜像 + 提交镜像 + 服务器pull镜像 + 启动容器。 GitHub Actions 并不推荐操作服务器内容,所以这里我们也分为两部分工作,前一部分为 更新代码 + 构建镜像 + 提交镜像。这里先看看 手动构建镜像并推送到阿里云 是怎样操作的:

SHELL

使用 GitHub Actions 代替

以上步骤虽然也不复杂,不过当提交和推送代码到git仓库后需要手动操作。

使用 GitHub Actions 只需要第一次设置,就可以在每次推送代码到git仓库的时候 自动构建和推送最新镜像。

1、创建Actions文件

当然,GitHub Actions 基于 git 仓库。 在自己项目的 git 仓库中,选择 Actions 菜单点击 set up a workflow yourself -> 自动创建 yml 文件。

7701626086152_.pic.jpg

也可以在IDE中 项目根目录下 手动创建 .github/workflows 目录,新建 name.yml 文件(name随意名字,可以工作流功能取名)。

WeChat529ef8045faf5b1b1bfcbf3e9b1f0305.png

2、选择工作流模板

与 Docker 有关,在 git marketplace 中 查找 docker actions,找到了一项非常符合我们的工作流模板 Build and push Docker images

7711626086271_.pic_hd.jpg

进入模板详情复制代码到 name.yml 文件中,并加以修改。

YAML

查看工作流日志

工作流触发后,可在 GitHub Actions 中查看日志。

7731626088531_.pic.jpg

绿色√标记说明已完成并且成功。

部署到服务器

进入服务器终端,启动 Docker 容器

SHELL

致谢

GitHub Actions 文档:https://docs.github.com/cn/actions/reference/workflow-syntax-for-github-actions

本文分享自作者个人站点/博客
如有侵权,请联系 m@jokerc.com 删除。

HITS

LAST UPDATED

May 3, 2023
Powered By Next.js • Deployed on Tencent Cloud
CC BY-NC-SA 4.0 © 2024 Ricky Tang 沪ICP备2022012076号-1