您当前的位置:笑说巴巴 > 经验分享

使用 GitHub Action 自动更新 Sealos 集群的应用镜像

时间:2023-10-16 14:22:51

Github Actions 是 GitHub 提供的一项强大功能,可以帮助开发人员自动化构建、测试和部署他们的代码。在集群管理中,使用 Sealos 可以方便地管理 Kubernetes 集群,并且可以使用 GitHub Action 自动更新集群中的应用镜像。

首先,我们需要在 GitHub 仓库中创建一个具有写权限的 Personal Access Token,并将其保存在 Secrets 中。然后,创建一个名为 .github/workflows/update-image.yml 的文件,内容如下:

name: Update Image

on:
 schedule:
 - cron: "0 0 * * *"

jobs:
 update:
 runs-on: ubuntu-latest

 steps:
 - name: Checkout
 uses: actions/checkout@v2

 - name: Set up Docker Buildx
 uses: docker/setup-buildx-action@v1

 - name: Login to Docker Hub
 uses: docker/login-action@v1
 with:
  username: ${{ secrets.DOCKER_USERNAME }}
  password: ${{ secrets.DOCKER_PASSWORD }}

 - name: Build and push image
 uses: docker/build-push-action@v2
 with:
  context: .
  push: true
  tags: |
  my-dockerhub-username/my-app:latest
  my-dockerhub-username/my-app:${{ github.sha }}

在这个配置文件中,我们使用了 docker/setup-buildx-action@v1 这个 Action 来设置 Docker Buildx,以便进行多平台的构建。然后,使用 docker/login-action@v1 这个 Action 登录到 Docker Hub。接下来,使用 docker/build-push-action@v2 这个 Action 构建并推送镜像到 Docker Hub。

我们还可以定期执行这个工作流,以便自动更新镜像。在配置文件中,我们使用了 schedule 事件来定义定时触发器,这里设置为每天的 00:00 执行。

保存并提交这个配置文件后,GitHub Action 就会在每天的 00:00 自动运行这个工作流,构建并推送应用镜像到 Docker Hub。这样,我们就实现了自动更新 Sealos 集群中的应用镜像。

通过使用 GitHub Action 和 Sealos,我们可以轻松实现集群应用镜像的自动更新,提高了开发和部署的效率。同时,GitHub Action 还支持很多其他的功能,如测试和部署等,可以根据实际需求进行配置和使用。