准备 Web 应用程序代码
本单元将介绍如何创建 Web 应用程序代码,并将其集成到源代码管理存储库中。
启动 Web 应用程序
既然你已创建用于部署 Web 应用程序的资源,接下来必须准备要部署的代码。 启动新的 Web 应用程序的方法有许多种,因此本文使用的方法可能与你过去常用的方法不同。 使用该方法的目的在于快速地为完成整个部署周期提供一个起点。
注意
此页上显示的所有代码和命令仅用于说明目的,你无需执行任何一项。 我们将在后续练习中用到它们。
你可以通过 .NET SDK 中的 dotnet
命令行工具直接为新的 Web 应用程序创建代码。 具体而言,可以使用 dotnet new
命令通过模板生成新的应用程序:
dotnet new mvc --name <YourAppName>
此命令将在具有指定名称的新文件夹中创建新的 ASP.NET Core 模型-视图-控制器 (MVC) 应用程序。
若要快速创建入门 Web 应用程序,可以使用常用于 Java 生态系统的 Maven (mvn
) 命令行工具。 具体来说,Maven 包含名为 archetypes 的功能,该功能可以通过模板快速为不同类型的应用程序创建起始代码。 你可使用 maven-archetype-webapp
模板为在其主页上显示“Hello World!”的简单 Web 应用生成代码。
mvn archetype:generate -DgroupId=example.webapp -DartifactId=helloworld -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.5
此命令将创建一个 helloworld
文件夹,其中包含应用程序的源代码。
你可以使用与 Node.js 捆绑在一起的节点包管理器 (npm
) 命令行工具来创建新的应用程序。 init
命令将创建应用程序所需的新 package.json
:
npm init -y
打开在当前文件夹上创建的 package.json
文件后,你可以将 start
项添加到 scripts
部分,以说明 Web 应用程序的运行方式:
...
"scripts": {
"start": "node index.js"
},
...
完成上述操作后,可以在新的 index.js
文件中编写实际的 Web 应用程序代码:
const http = require('http');
const port = process.env.PORT || 3000;
http.createServer(function(request, response) {
response.writeHead(200, { 'Content-Type': 'text/plain' });
response.end('Hello World!');
}).listen(port);
console.log(`Server running at http://localhost:${port}`);
此代码示例将创建一个服务器,该服务器将在计算机端口 3000 上进行侦听并向每个请求回复“Hello World!”消息。
若要通过几行代码创建新的入门 Web 应用程序,则可以使用 Flask,这是一种常用的 Web 应用程序框架。 可以使用以下命令安装 Flask:
pip install flask
你可以在环境中使用 Flask 后,使用以下代码创建最小的 Web 应用程序:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!\n"
此代码示例将创建一个服务器,该服务器将向每个请求回复“Hello World!”消息。
将代码添加到源代码管理
准备好 Web 应用程序代码后,下一步通常是将代码放到源代码管理存储库中,如 Git。 如果计算机已安装 Git,对源代码文件夹运行这些命令将初始化该存储库。
git init
git add .
git commit -m "Initial commit"
你可以通过这些命令初始化本地 Git 存储库,并创建首次代码提交。 这样做可以立即获得的好处是通过提交保留更改历史记录。 稍后,你能够将本地存储库与远程存储库(例如托管在 GitHub 上的存储库)同步。 通过此同步,你可以设置持续集成和持续部署 (CI/CD)。 尽管建议将源代码管理存储库用于生产应用程序,但这并非是能够将应用程序部署到 Azure 应用服务的必要条件。
注意
使用 CI/CD 时,可以自动生成、测试和部署每个代码更改,从而能够通过可靠的方式更加频繁地进行代码部署。 你可以通过它更加快速有效地为应用程序提供新功能和 bug 修复。