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

发布时间:2025-05-18 01:56:51 作者:益华网络 来源:undefined 浏览量(1) 点赞(1)
摘要:Walrus 是一款开源的基于平台工程理念、以应用为中心、以完整应用系统自动化编排交付为目标进行设计开发的云原生应用平台,简化和自动化应用部署与发布流程并与现有的 CI/CD 流水线无缝集成。今天我们来点有趣的,跟随本教程,一起将 Walrus CLI 与 CI/CD 工具集成来部署20

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``` 目录下)。此文件将定义您的 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~

 

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!