如何使用 GitHub Actions 部署容器
目录
- 1 什么是 GitHub操作?
- 2 GitHub 操作的组件
- 3 先决条件
- 4 使用 GitHub Actions 将容器部署到 ACK
什么是 GitHub操作?
GitHub Actions 是一个持续集成和交付 (CI/CD) 平台,用于快速高效地构建、测试和部署软件/应用程序。
GitHub Actions 提供构建和部署代理(运行程序),它们在支持 Linux、Windows 和 macOS 操作系统的虚拟机上运行。此外,您可以在阿里云等云服务提供商中托管自托管运行器。
GitHub 操作的组件
- 工作流:工作流是处理和运行一个或多个作业的配置文件。作业可以按顺序或并行顺序运行。工作流由存储库中的事件触发,例如提交、拉取请求等。每个存储库可以有多个工作流配置文件,用于执行应用程序所需的一组步骤。
- 事件:事件是存储库中触发工作流运行的特定活动。
- 作业:作业是在同一个运行器上执行的一系列步骤。步骤按顺序执行并且可以共享数据。
- Runners: Runners 是运行您的 GitHub 操作工作流的服务器。跑步者一次只能运行一项工作。多个运行器可用并在 Ubuntu Linux、Windows 和 macOS 上运行。如果您需要不同的操作系统,您可以自行托管您的跑步者。
- 操作:操作是用于自动执行重复任务的自定义应用程序。例如,在配置构建和部署管道时,操作会减少重复。
先决条件
- 确保您已经为 Kubernetes 集群设置了阿里云容器服务 (ACK)
- 您还需要确保您已经设置了阿里云容器注册表来托管您的容器镜像。
- 设置包含 Dockerfile、Kubernetes 部署、服务和自定义文件的 GitHub 存储库
使用 GitHub Actions 将容器部署到 ACK
在下一节中,我们将使用 GitHub Actions 将运行 NGINX 网络服务器的容器部署到阿里云 Kubernetes 容器服务。我们将在本教程中使用以下示例代码。
- 第 1 步:使用包含 Dockerfile、Kubernetes 部署、服务和自定义文件的存储库访问部署部分下的 GitHub Actions 功能。选择Deploy to Aliyun ACK操作,然后单击Configure:
- 第 2 步:单击配置后,通过将环境变量更改为您的阿里云环境特定配置来编辑默认工作流配置文件。
以下是您可以更改的一些参数:
env: REGION_ID: cn-hangzhou REGISTRY: registry.cn-hangzhou.aliyuncs.com NAMESPACE: namespace IMAGE: repo ACK_CLUSTER_ID: clusterID ACK_DEPLOYMENT_NAME: nginx-deployment ACR_EE_REGISTRY: myregistry.cn-hangzhou.cr.aliyuncs.com ACR_EE_INSTANCE_ID: instanceID ACR_EE_NAMESPACE: namespace ACR_EE_IMAGE: repo
- 步骤 3:在Settings下将您的阿里云环境Access_Key_ID和Access_Key_Secret添加到您当前的 GitHub 存储库:
- 第 4 步:提交到 GitHub 存储库后,它将触发工作流文件运行。成功后,作业中的所有步骤都将标记为完成:
最后,您可以通过访问 Kubernetes 集群并运行kubetcl get deployments命令来确认容器已成功部署:
The End
发布于:2022-02-19,除非注明,否则均为
原创文章,转载请注明出处。
发表评论