轻松一刻|Walrus CLI与CI/CD工具集成,轻松部署2048游戏

Walrus 是轻松轻松一款开源的基于平台工程理念、以应用为中心、工具以完整应用系统自动化编排交付为目标进行设计开发的集成云原生应用平台,简化和自动化应用部署与发布流程并与现有的部署 CI/CD 流水线无缝集成。今天我们来点有趣的游戏,跟随本教程,轻松轻松一起将 Walrus CLI 与 CI/CD 工具集成来部署2048游戏 🎮。工具

 

前提条件

在开始之前,集成请先完成以下准备工作:

创建一个 GitHub 仓库,部署fork 我们的游戏 demo 项目( https://github.com/seal-demo/2048)。

安装 Walrus( https://seal-io.github.io/docs/deploy/standalone)。轻松轻松

在 Walrus 中创建 demo 项目。工具

在 demo 项目中创建 K8s 连接器。集成

创建一个环境,部署并添加上面创建的游戏 K8s 连接器。

准备就绪,现在开始吧~

 

生成 API 密钥

为了让 Walrus CLI 与 Walrus Server 之间能够通信,亿华云您需要创建一个 API 密钥。操作步骤如下:

在用户信息 中选择 API密钥 。

点击添加密钥 ,为密钥命名并设置过期时间。

配置密钥后,复制生成的密钥。此密钥用来让 CLI 连接到 Walrus Server。

 

将 Walrus CLI 与 GitHub Actions 集成

这里我们将演示如何将 Walrus CLI 与 GitHub Actions 集成。按照以下步骤操作:

访问 GitHub 仓库,选择 Settings 选项卡,然后导航到 Security > Secrets and variables > Actions 。

在 Repository secrets 下添加以下变量,配置存储 GitHub Actions 执行需要的敏感信息: CI_REGISTRY_USERNAME 、 CI_REGISTRY_PASSWORD 、 CD_WALRUS_SERVER 和 CD_WALRUS_TOKEN 。对于 CD_WALRUS_SERVER ,格式为 https://domain:port/ 。这些变量将于 GitHub Actions 与镜像仓库、Walrus CLI 之间进行安全通信。

 

在 GitHub 仓库中创建  ci.yaml 文件(位于 `.github/workflows``` 目录下)。此文件将定义您的云南idc服务商 CI/CD 工作流。

 

以下是用于部署2048游戏的  ci.yaml 文件示例,您可以根据特定的环境变量和要求进行复制和自定义。例如,将镜像 Repo 修改为自己的镜像仓库 Repo:

name: CICDon:   push:     branches: [ "main" ]  pull_request:     branches: [ "main" ]env:   CI_REGISTRY:  # Use Docker Hub when empty   CI_IMAGE_NAME: sealdemo/game2048   CD_WALRUS_PROJECT: demo   CD_WALRUS_PROJECT_ENV: dev   CD_WALRUS_SERVICE_NAME: game2048   jobs:   delivery:     runs-on: ubuntu-latest     steps:     - uses: actions/checkout@v3     - name: Set up JDK 8       uses: actions/setup-java@v3       with:         java-version: 8         distribution: temurin         cache: maven     - name: Build with Maven       run: mvn -B clean package --file pom.xml     - name: Docker Login       uses: docker/login-action@v3.0.0       with:         registry: ${ {  env.CI_REGISTRY }}         username: ${ {  secrets.CI_REGISTRY_USERNAME }}         password: ${ {  secrets.CI_REGISTRY_PASSWORD }}     - name: Build and push Docker image       run: |         docker build . --file Dockerfile --tag ${ {  env.CI_IMAGE_NAME }}:${ {  github.run_id }}         docker push ${ {  env.CI_IMAGE_NAME }}:${ {  github.run_id }}    - name: Download CLI       run: |         # Download walrus CLI         curl -v -k -o walrus -LO "${ {  secrets.CD_WALRUS_SERVER }}/cli?arch=amd64&os=linux"         chmod +x ./walrus    - name: Deploy       run: |         # Setup CLI config         ./walrus config setup --insecure --server ${ {  secrets.CD_WALRUS_SERVER }} --token ${ {  secrets.CD_WALRUS_TOKEN }} --project ${ {  env.CD_WALRUS_PROJECT }} --environment ${ {  env.CD_WALRUS_PROJECT_ENV }}                # Deploy app         ./walrus service create --debug --name ${ {  env.CD_WALRUS_SERVICE_NAME }} --template { "name": "webservice", "version": "v0.0.2"} --attributes { "image": "${ {  env.CI_IMAGE_NAME }}:${ {  github.run_id }}", "ports": ["8080"]}

现在,选择  Actions 选项卡,尝试触发工作流执行并检查结果。

 

如果在工作流程执行过程中遇到任何错误,请先检查 GitHub Actions 的权限和配置,确保一切都设置正确。

 

完成部署后,您可以在 Walrus 中查看所部署的2048游戏。可以使用此 URL( http://domain

:port/2048/)访问2048游戏。

 

到此,你已经成功部署2048游戏啦,Enjoy your time~

 

知识
上一篇:第五步:重复第四步,直到找到正确的纪录。
下一篇:5、使用企业名称的英文名称作为域名也是国内许多企业选择域名的一种方式,特别适合一些与计算机、网络和通信相关的行业。