返回
跨入自动化的门槛,用GitHub Actions一键发布Docker镜像
开发工具
2023-09-01 23:40:13
前言
对于经常需要交付代码的小伙伴们来说,近年来持续集成和持续交付得到了许多开发者的关注,大家常用的有 Jenkins、Travis CI 等,今天我们就来聊聊GitHub Actions。
GitHub Actions 是一款持续集成(CI)和持续交付(CD)工具,可帮助你自动执行软件项目的构建、测试和部署。它于 2018 年 11 月发布,目前已成为 GitHub 上最受欢迎的 CI/CD 工具之一。
GitHub Actions 的优点包括:
- 易于使用:GitHub Actions 提供了一个用户友好的界面,即使是新手也可以轻松上手。
- 可扩展性强:GitHub Actions 提供了多种不同的操作,你可以根据自己的需求自定义构建工作流。
- 云原生:GitHub Actions 运行在 GitHub 的云平台上,因此你无需管理自己的基础设施。
- 价格合理:GitHub Actions 提供免费套餐,即使是付费套餐也价格合理。
自动化发布Docker镜像
以下是如何使用 GitHub Actions 自动发布 Docker 镜像的步骤:
- 创建一个 GitHub 仓库
- 在仓库中创建一个
.github/workflows
目录 - 在
.github/workflows
目录中创建一个 YAML 文件,例如main.yml
- 在 YAML 文件中定义你的工作流
- 将 YAML 文件推送到 GitHub
- GitHub Actions 将自动运行你的工作流
下面是一个使用 Go 语言的示例 YAML 文件:
name: Build and push Docker image
on:
push:
branches:
- main
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Build Docker image
run: docker build -t my-image .
- name: Push Docker image
run: docker push my-image
这个 YAML 文件定义了一个名为 build-and-push
的工作流,该工作流会在每次将代码推送到 main
分支时自动运行。工作流包含以下步骤:
- Checkout code:检出代码到本地。
- Set up Go:设置 Go 环境。
- Build Docker image:构建 Docker 镜像。
- Push Docker image:将 Docker 镜像推送到 Docker Hub。
总结
GitHub Actions 是一款功能强大且易于使用的 CI/CD 工具。它可以帮助你自动执行软件项目的构建、测试和部署。如果你正在寻找一种自动化发布 Docker 镜像的方法,那么 GitHub Actions 是一个不错的选择。