您现在的位置是:亿华云 > 知识
轻松一刻|Walrus CLI与CI/CD工具集成,轻松部署2048游戏
亿华云2025-10-05 13:10:37【知识】5人已围观
简介Walrus 是一款开源的基于平台工程理念、以应用为中心、以完整应用系统自动化编排交付为目标进行设计开发的云原生应用平台,简化和自动化应用部署与发布流程并与现有的 CI/CD 流水线无缝集成。今天我们
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~
很赞哦!(25)
站长推荐
2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
小白注册后域名怎么办?域名会有什么操作?
域名价值评估主要凭借什么?新手如何定义域名价值?
如何区别好域名与坏域名?有什么细节可分清?
.com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。
为什么one域名会火热?one域名有什么理由?
什么是tech域名?tech域名有什么用处?
小白选老域名需要注意什么问题?有什么细节?