C# on 华为云DevCloud

举报
DevCloud 发表于 2018/06/04 14:49:13 2018/06/04
【摘要】 本文通过一个实例介绍如何使用软件开发服务完成一个C#Web项目的开发。

概述

1.1 文章目的

本文通过一个实例介绍如何使用软件开发服务完成一个C#Web项目的开发

1.2 项目详情

 图片1.png

1. 项目名称:超级冷笑话网站

2. 项目简介:一个Web网站,包含用户登录注册以及浏览笑话等功能的网站

3. 开发程序语言:ASP.NET MVC5(C#)

4. 项目类型:基于ASP.NETB/S架构的Web项目

5. 部署环境:Windows + IIS + MySql

6. 部署方式:模板部署

图片2.png 

典型B/S架构系统,用户通过互联网访问系统,客户端处理用户操作及数据库读取或写入数据。

1.3 主干流程

本文的主干流程为:代码托管、编译构建、发布(软件发布库)、部署。

开发者在本地开发后通过代码托管服务进行版本管理。项目开发到一定程度后可以进行编译构建操作,构建出软件包,通过发布服务进行归档管理。再将软件包部署到服务器上,即可通过外部进行访问。

图片3.png 

1.4 前提条件

注册华为云账号:华为云官网注册华为云账号,账号适用于所有华为云产品。

弹性云服务器:部署将使用带有公网IP的ECS(Windows Sever 2012)

项目管理

2.1 创建项目

新建项目的开发流程包含两种类型:scrum流程、看板流程。Scrum流程是标准的敏捷开发流程,工作项层级为传统的scrum划分方法Epic->Feature->Story->Task&Bug,本项目为把工作划分的层级更清晰,选择了scrum流程

 图片4.png

2.2 创建迭代

本项目研发周期短,只有一次release,划分成三个迭代,迭代周期为一周。

图片5.png

2.3 梳理产品需求清单

项目规划是以思维导图的形式将工作项的层级结构展示出来,更直观的看到父子关系,在项目规划中新建工作项后,会自动生成到后面的EpicFeatureBacklog和迭代页面,在迭代开始前,项目经理将从客户获取的所有需求信息,逐一落实到项目规划中,分解成story,并为工作项设置优先级。

图片6.png

代码托管

3.1 创建仓库

Ø 新建代码仓库时,选择“模板新建”,在搜索框中输入已经被公开为示例模板的仓库名称,选择该模板。(此处搜索superjokes”,编程语言选择ASP.NET

图片7.png

Ø 输入新的仓库名称(可以和模板仓库同名),即可创建代码仓

图片8.png 

数据库密码修改:(必做,否则将不会部署成功)

修改在superjokes/src/Joke.Web/App_Data目录下的appsettings.config。将数据库配置处的密码(第33Password=)改为将要部署的主机上的数据库密码。

图片9.png

编译构建

4.1 创建构建任务

Ø 新建任务,选择构建模板”界面勾选msbuild,点击确定完成任务模板的创建。跳转至“编译构建任务”界面。

图片10.png 

Ø 输入构建详细信息

任务描述、源码仓库分支等自行选择。

图片11.png 

Ø Msbuild构建

Msbuild构建流程,使用镜像msbuild15-all

图片.png 

图片.png

发布

本项目中发布服务可以将构建生成的可执行文件上传到发布仓库,便于软件包管理

Ø 版本归档

Msbuild构建过程中已经写了对应的压缩指令。

上传软件包到发布库(Windows环境)”步骤写明构建包路径、发布版本号及包名后,可以将构建生成的软件包上传到发布仓库,自动进行软件版本管理。

图片.png

部署

部署任务的目的是将构建完成的软件包部署到一个可供我们访问的服务器上,部署成功之后即可通过浏览器访问该地址。

部署任务一共分为四部分,分别是主机授,编写部署脚本,任务配置,和执行部署。

图片14.png 

此时需要一台可供访问的服务器,由于此次部署的Web工程是C#语言编写的,所以服务器需要是一台具有弹性ip地址的Windows服务器。

在主机授信前,需要先对主机环境进行相应配置。

6.1 主机环境配置

1. 安装MySQL

2. 通过数据库配置脚本在服务器上生成MySQL数据库,数据库配置脚本为位于代码仓库根目录的superjokes.sql

图片15.png

6.2 主机授信

将服务器主机授信到DevCloud里,用于部署网站

点击设置-通用设置-主机组管理,将服务器以主机组的形式授信到项目当中。

 图片.png

新建主机组:

图片.png

在主机组中添加主机:

图片.png

6.3 模板部署任务

Ø 新建模板部署任务。

Ø 填写部署任务名称不使用模板直接创建

图片.png

Ø 添加以下部署步骤:选择部署来源、解压文件、删除文件、执行PowerShell脚本

(1) 选择部署来源:(将软件包传到云主机上)

图片.png

(2) 解压文件:(将传输完毕的软件包解压到指定路径)

(3) 删除文件:(将传输到主机的软件包删除)

(4) 执行PowerShell脚本:(PowerShell脚本位于解压目录即superjokes路径的根目录下)

图片.png

PowerShell参数详解:(按顺序依次,中间以空格分开)

注:下图为web.ps1中的参数定义部分代码片段。PowerShell脚本参数中,Windows系统下路径的“\”需要以“\\”替换。

图片.png

1.sitePort: 网站端口(提供一个目标主机上可访问的端口号)

2.SiteName: 网站名称,启动IIS服务时为该网站命名

3.SiteAppPoolsModel: Integrated 不必修改

4.managedRuntimeVersion: v4.0 不必修改

5.WebSitePath:  IIS服务中网站源文件路径

6.IISLogFile:  IIS服务中的日志存储路径

Ø 保存部署任务,并执行该任务


6.4 查看部署效果

部署任务执行完成后就可以用http://ip:端口/默认页 访问网站了

图片23.png 

到此,我们完成了C# web项目DevCloud搭建

附录

【云视界Live】大咖手把手教你玩转知识点

企业敏捷转型之初试Scrum

企业架构转型之初试微服务

【最佳实践】短视频、快节奏,教你如何端到端践行DevOps

如何开发一款简单好用的在线接口文档管理工具

On DevCloud】以语言为维度讲解如何将项目迁移上云

Android on 华为云DevCloud

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。