6步搭建一个飞机大战游戏

news/2024/5/18 2:38:07/文章来源:https://blog.csdn.net/devcloud/article/details/127282483
摘要:本文以华为云软件开发平台DevCloud为例,展示飞机大战游戏开发的DevOps实践流程。

DevOps实践

DevOps实践是一种开发、测试运维一体化的模式,其实践的外在表现一般包括了如代码仓库、构建、测试、发布、配置、监控等工具形成的一个完整的工具链或者说开发平台,以华为云软件开发平台DevCloud为例,展示飞机大战游戏开发的DevOps实践流程。

实践手册下载>>>

提交实践结果赢奖品>>>

实验介绍

项目名称:飞机大战游戏

项目简介:一个用 Cocos Creator 开发的 Web 游戏,可以进行飞机大战。

开发语言:JavaScript(49.3%)、CSS(36.6%)、Html(14%)

部署环境:CentOS 7.6 64bit for Kai1s +jdk1.8

涉及云服务:华为云 DevCloud、华为云弹性云服务器 ECS

操作流程

操作步骤

创建私有云

步骤1:在华为云服务列表找到“服务列表”,进入华为云“虚拟私有云VPC”,创建虚拟私有云,配置虚拟私有云名称和子网名称,其他默认配置,点击立即创建;

步骤2:创建安全组并添加规则

创建安全组

  • 名称:sg-plane
  • 企业:default
  • 模板:通用Web服务器
  • 描述:无

添加规则:添加入向规则

  • 优先级:1
  • 协议端口:TCP
  • 输入:8080

创建项目

 

在华为云官网产品列表中,前往“软件开发平台DevCloud”的管理控制台,新建项目;

  • 项目流程:看板
  • 项目名称:自定义

创建代码仓库

进入代码->代码托管,导入外部仓库:

  • 源仓库地址:https://codehub.devcloud.cn-north4.huaweicloud.com/yxdmmsymbgl00001/planeGame.git
  • 源仓库访问权限:不需要用户名/密码
  • 勾选“我已阅读并同意 《隐私政策声明》 和 《软件开发服务使用声明》”
  • 点击“下一步”按钮
  • 自定义代码仓库名称
  • 其他默认值,最后确认

新建编译构建任务

在“构建&制品”中选择“编译构建”后,新建任务:

步骤1:选择Shell模板,在命令行中输入zip -qr WebGames.zip ./

步骤2:在Shell下方增加“上传软件包到软件发布库”

  • 构建包路径:WebGames.zip
  • 发布版本号:1.0.0
  • 包名:WebGames

步骤3:新建并执行

新建部署任务

步骤1:进入“控制台”选择“服务列表”购买弹性云服务器ECS,并进行配置;

计费模式:按需收费

区域:华北-北京四

可用区:随机分配

CPU 架构:鲲鹏计算

规格:kai1s.xlarge.1(4 核 4G)

镜像:CentOS 7.6 64bit for Kai1s(40GB)

网络:选择本实验创建的虚拟私有云

安全组:选择本实验创建的安全组

云服务器名称:自定义(如:ecs-plane-kunpeng)

密码:自定义

步骤2:进入华为云DevCloud控制台,选择“部署”->“主机管理”;

添加主机组,输入主机名,选择linux操作系统,点击保存;

添加主机;

  • 输入自定义主机名称,如planewar
  • IP(云服务弹性公网IP)
  • 认证方式:密码
  • 用户名:root
  • 密码:自己云服务器ECS的密码
  • ssh端口:22
  • 勾选我已阅读…,点击添加

添加成功后,显示验证成功。

步骤3:重新进入部署服务,新建任务,选择Tomcat应用部署模板

点击“选择部署来源”下方的加号,添加“解压文件”,配置:

  • 压缩文件路径:${download_path}/WebGames.zip,
  • 解压目录:${download_path}/WebGames;

“参数设置”页中,将以下参数进行修改,其余参数保持默认不变

  • ${host_group}:ecs_group_planewar(即本实验中创建的主机组)
  • ${package_url}:/WebGames/1.0.0/WebGames.zip
  • Service_port:8080

步骤4:访问应用

释放云资源

本实验需要释放的资源有:弹性云服务器ECS、虚拟私有云和安全组。

步骤1:前往“弹性云服务器ECS”管理控制台,释放资源;

 步骤2:前往“虚拟私有云 VPC”管理控制台,先删除所有子网,再删除虚拟私有云;

步骤3:进入“访问控制”中的安全组,删除需要删除的安全组。

 点击关注,第一时间了解华为云新鲜技术~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_22339.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

引擎之旅 Chapter.3 文件系统

文章目录引言在此之前...Unicode和ASCIIC风格字符串的操作函数集合字符串操作字符串类型转换Part1:操作文件名和文件路径Part2:单个文件的读写文件打开的模式TFile的定义Part3:异步文件I/O异步I/O线程文件类中的异步方法引言 为什么会将文件…

数据中台开源解决方案(一)

数据中台商业的解决方案有很多,开源框架种类繁多,每一个模块都有很多开源的套件。以查询引擎为例,可以使用的开源工具有MySQL、Redis、Impala、MongoDB、PgSQL等。可以根据实际业务需要,选择合适的开源套件。 可供选择的解决方案太多,重点推荐开源解决方案,框架图如下图所…

【RCJ-2 AC220V 0.015A静态冲击继电器】

系列型号 RCJ-2/48VDC冲击继电器 RCJ-2/110VDC冲击继电器 RCJ-2/220VDC冲击继电器 RCJ-2/100VAC冲击继电器 RCJ-2/127VAC冲击继电器 RCJ-2/220VAC冲击继电器 RCJ-3/220VAC冲击继电器 RCJ-3/127VAC冲击继电器 RCJ-3/100VAC冲击继电器 RCJ-3/220VDC冲击继电器 RCJ-3/110VDC冲击继…

【论文笔记】CIKM‘22 & Amazon | (Navip) 推荐系统中图神经网络的去偏邻域聚合

目录1. Introduction2. Related Work2.1 基于GNN的推荐2.2 逆倾向评分IPS3. 模型3.1 Navip4. 实验结果本文是亚马逊在CIKM 2022的一篇工作 论文地址:https://arxiv.org/pdf/2208.08847.pdf 问题 图形神经网络(GNN)对于曝光偏差的脆弱性导致模型偏差,产生…

09-Pytorch中的序列化容器

目录 1.梯度消失和梯度爆炸 1.1 梯度消失 1.2 梯度爆炸 1.3 解决梯度消失或梯度爆炸的经验 2.nn.Sequential 3.nn.BatchNorm1d 4.nn.Dropout 1.梯度消失和梯度爆炸 在使用pytorch中的序列化容器之前,我们先来了解一下常见的梯度消失和梯度爆炸的问题。 1.1 …

②、HTML 元素学习

HTML 元素 HTML 文档由 HTML 元素定义。 HTML 元素 *开始标签常被称为起始标签(opening tag),结束标签常称为闭合标签(closing tag)。 HTML 元素语法 HTML 元素以开始标签起始HTML 元素以结束标签终止元素的内容是开始…

Class02

Class02 1.自动类型值转换 隐式类型转换 显式类型转换 隐式类型转换(自动类型转换) 隐式类型转换是小范围向大范围转换 实际上小范围包含在大范围内 整数类型的默认类型为int 浮点数类型的默认类型为double 显式类型转换(强制类型转换&am…

linux 预读机制 (linux4.14)

一、基本概念 设计背景 文件一般是顺序访问的,访问[A, B]范围的数据后,接下来很可能访问[B1, BN]数据。由于访问磁盘、flash等存储器件比较耗时,在访问 [A, B]的时候,如果提前把[B1, BN]数据从存储器件读取到ram中,那…

TTN服务器LoRaWAN网关配置流程

在LoRaWAN物联网网络中,LoRaWAN网关起到了绝对核心的作用,它在整个网络中像是一座桥梁建立起网络服务器与终端节点的通信,下面我们将简单介绍如何使用E890-470LG11网关实现TTN服务器与终端节点的通信。 首先,在LoRaWAN通信中&…

亿佰特LoRaWAN入网TTN并订阅MQTT消息

一、LoRaWAN节点入网 1.注册并登录TTN账号。 2.添加网关。Gateway EUI可自定义。 3.切换到亿百特网关配置网页(http://192.168.10.1/),配置网关。 4.切抱TTN网页,创建app,Application ID可任意取,只要不重复就行&…

MSRN(多尺度超分辨率重建)

目前的研究倾向于使用更深层次的卷积神经网络来提高性能。然而,盲目增加网络深度不能有效改善网络。更糟糕的是,随着网络深度的增加,训练过程中出现了更多的问题,需要更多的训练技巧。在本文中,我们提出了一种新颖的多…

TRC丨艾美捷TRC 1-Hexyl-2-phenyl-4说明书

1-Alkyl-2-aryl-4-(1-naphthoyl)pyrroles 作为大丨麻素 CB1 和 CB2 受体的高亲和力配体。 艾美捷TRC 1-Hexyl-2-phenyl-4化学性质: 目录号H297400 化学名称1-Hexyl-2-phenyl-4-(1-naphthoyl)pyrrole JWH-147 同义词JWH-147;(1-己基-5-苯基-1H-吡咯-3-基…

数据库06-Redis 强化

目录 Redis 强化 缓存使用原则 缓存淘汰策略 缓存穿透 缓存击穿 缓存雪崩 Redis持久化 RDB:(Redis Database Backup) AOF(Append Only File): Redis存储原理 Redis集群 Redis 强化 缓存使用原则 什么时候,什么样的数据能够保存在Redis中? 1.数据量不能太大 2.使…

计算机操作系统:输入输出管理知识点汇总(简化版)

说明 博客作为笔记备份,不定时更新参考内容为王道考研《计算机操作系统考研复习指导2023》简化版仅进行了知识点汇总,详细知识点没有记录,主要用来搭知识体系框架思维导图为文字版导出的,可将文字内容粘贴到思维导图软件自动生成…

DDL-操作表查询和创建

DDL-操作表查询以及创建 操作表 1.C(Create):创建语法:create table 表名(列名1 数据类型1,列名2 数据类型2,......列名n 数据类型n);注意:最后一列不需要加逗号 数据类型:int:整数类型age int,double:小数类型score double(5,2)date:日期类型,只包含年月日,yyyy…

二维数组、可变长数组、多维数组、函数调用

1.二维数组名称也可以代表数组里第一个存储区的地址。 例子: 输出结果:二维数组的名称二维数组第一个数的地址 二维数组的名称也不可以被赋值。 二维数组名称也可以进行sizeof计算,结果是二维数组里所有存储区的总大小。 例子:…

Spring源码深度解析:三、Spring之Bean的生命周期

Bean的生命周期 创建的生命周期 UserService---->推断构造---->普通对象----->依赖注入---->初始化前(PostConstruct)----->初始化(InitializingBean)---->初始化后(AOP)---->代理对象-----> 放入Map单例池中---->Bean对象 创建一个modle: spring…

Android 简单控件 - -4.按钮控件 button

系列文章目录 文章目录系列文章目录前言1.按钮控件Button1.1按钮控件的新增属性2. 点击事件和长按事件2.1 点击事件2.2 长按事件3. 禁用与恢复按钮总结前言 提示:以下是本篇文章正文内容,下面案例可供参考 1.按钮控件Button 按钮控件Button由TextView派…

CPU有缓存一致性协议(MESI),为什么JMM还需要volatile关键字?

这是一个非常好的问题,相信本文能把这个问题讲得清清楚楚 上周我在查阅资料时无意中搜到一篇解释 volatile 用法的博文,这篇博文排得很靠前,不过很遗憾,虽然结论是对的,但分析过程完全错误,而且我发现网上…

网络编程套接字

文章目录一、理解源IP和目的IP二、认识端口号三、理解port端口号和进程ID四、理解IP和port端口号五、理解源端口号和目的端口号六、认识TCP协议七、认识UDP协议八、网络字节序字节处理函数九、socket编程socket的解释socket常见APIsockaddr结构十、UDP套接字通信十一、TCP套接字…