返回

Github Actions CI自动实践,自动化代码构建,轻松应用发布

后端

现在,随着 DevOps 文化的不断兴起,持续集成和持续交付已经成为软件开发流程中的重要组成部分。Github Actions CI 正是帮助我们实现这些目标的利器。Github Actions CI 是一个自动化工作流工具,允许我们在 Github 上轻松创建和运行自动化构建、测试和部署工作流。在本文中,我们将详细介绍如何使用 Github Actions CI 流程来实现自动化代码构建,镜像打包,以及上传至 DockerHub 仓库。

  1. 准备工作

在开始之前,我们需要确保已经安装了 Docker 和 Docker Compose,并拥有一个 DockerHub 账户。同时,我们还需要准备一个 Github 项目,并在项目中创建一个名为 actions 的目录,用于存放 Github Actions 工作流文件。

  1. 创建 Github Actions 工作流文件

actions 目录中,创建一个名为 .github/workflows/ci.yml 的文件,用于定义我们的 Github Actions 工作流。这个文件中的内容类似于如下:

name: CI

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Build and push Docker image
        run: |
          docker build -t my-image .
          docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
          docker push my-image

在这个工作流文件中,我们定义了 build 这个 job,它会在 main 分支被 push 时触发。在这个 job 中,我们使用了 actions/checkout@v2 这个 action 来检出代码,然后使用 docker builddocker push 命令来构建和发布镜像。

  1. 设置 DockerHub 凭证

为了让 Github Actions 工作流能够成功地将镜像推送到 DockerHub,我们需要在 Github 中设置 DockerHub 的凭证。为此,我们可以前往 Settings -> Secrets -> Actions -> New repository secret,然后输入 DOCKERHUB_USERNAMEDOCKERHUB_PASSWORD 这两个秘钥,并分别输入 DockerHub 的用户名和密码。

  1. 触发 Github Actions 工作流

在一切准备就绪后,我们可以通过 push 代码到 main 分支来触发 Github Actions 工作流。当工作流运行完成后,镜像就会被自动构建并推送到 DockerHub 仓库中。

使用 Github Actions CI 流程,我们实现了自动化的代码构建,镜像打包,以及上传至 DockerHub 仓库。这极大地提高了我们的开发效率和应用发布速度。