练习 - 获取示例应用程序
准备好开始使用 Microsoft Azure Pipelines 生成 CI 管道。 第一步是生成并运行 Space Game Web 应用。 了解如何手动生成软件,为在管道中重复该过程做好准备。
Mara 将执行这一步,如果你按照程序操作,就能完成相同的操作。
创建 Azure DevOps 个人访问令牌
(
https://dev.azure.com/{yourorganization}
) 登录到组织。 如果还没有 Azure DevOps 组织,请在开始前创建一个免费组织。 登录后,如果有多个组织,请选择“Azure DevOps”,并转到计划用于完成本模块的组织。 在此示例中,组织的名称为fabrikam
。在主页中,打开用户设置 ,然后选择“个人访问令牌”。
选择“+ 新建令牌”。
使用你喜欢的任何名称命名令牌。 当 Codespace 将其代理注册到 Azure DevOps 组织时,将使用该令牌,因此你可以保留默认过期时间。
选择“自定义”,然后选择“显示所有范围”。
选择以下范围:代理池(读取和管理),然后选择“创建”。
完成后,复制令牌并将其存储在安全位置。 出于安全原因,它不会再次显示。
警告
像对待和使用密码一样对待和使用 PAT,并使其保密。
创建分支
在 Git 中使用项目的第一步是创建一个分叉,以便可以使用和修改源文件。 分支是 GitHub 存储库的副本。 该副本位于你的帐户中,使你可以进行所需的任何更改,而不会影响原始项目。
你可以提议对原始项目进行更改,但在此课程中,你将使用 Space Game Web 项目,就好像它是 Mara 及其团队拥有的原始项目一样。
将 Space Game Web 项目分支到 GitHub 帐户:
在 Web 浏览器中,转到 GitHub 并登录。
转到 Space Game Web 项目。
选择“分支”:
按照说明在帐户中创建存储库分支。
为自托管代理设置机密
在创建 Codespace 之前,需要创建几个机密来帮助自托管 Azure DevOps 代理运行。 在生产环境中,你不希望在 GitHub Codespaces 中使用自托管代理。 但是,由于你的团队使用 Codespaces 进行测试,因此在生成管道时,使用它是一个很好的临时解决方案。
转到已创建分支的 GitHub 存储库,选择“设置”>“机密和变量”>“Codespaces”。
创建以下 Codespaces 存储库机密。
名称 值 ADO_ORG 用于完成此模块的 Azure DevOps 组织的名称。 在此示例中, fabrikam
是组织的名称。 此组织名称必须与在上一步中创建 PAT 时所用的组织名称相同。ADO_PAT 在上一步中创建的个人访问令牌。 提示
在此培训模块中,代理将分配到
Default
代理池。 如果你不想在Default
池中运行代理(例如,使用生产 Azure DevOps 环境运行此训练模块,并且Default
池中有其他代理),则可以创建名为ADO_POOL_NAME
的机密并指定要使用的代理池的名称。 如果未指定此机密,则使用Default
池。
设置 Codespaces
接下来,你将设置 Codespaces,以便可以生成网站、使用源文件以及使用自托管代理运行管道。
在已创建分支的 GitHub 存储库中,选择“代码”,再次选择“代码”,选择“Codespaces”选项卡,然后选择 + 以创建新的 Codespace。
等待 Codespace 生成。 此生成过程可能需要一些时间,但你只需要在训练模块的这一步骤中执行一次此操作。
生成完成后,你将被重定向到 Visual Studio Code 的联机版本。 Codespace 附带 Visual Studio Code 的全新安装,类似于本地计算机上的 Visual Studio Code 的全新安装。 当 Codespace 首次启动时,联机 Visual Studio Code 可能会提示你提供特定配置或询问你有关首选项的信息。 你可以选择适合 Visual Studio Code 使用风格的首选项。
设置上游远程库
远程库是一个 Git 存储库,团队成员可在其中进行协作(与 GitHub 上的存储库类似)。 让我们列出你的远程服务器,并添加一个指向 Microsoft 存储库副本的远程服务器,这样你就可以获得最新的示例代码。
在 Visual Studio Code 联机编辑器中,转到终端窗口,然后从右侧选择“bash”。
若要列出远程库,请运行下面的
git remote
命令:git remote -v
可以看到你对存储库具有提取(下载)和推送(上传)访问权限:
origin https://github.com/username/mslearn-tailspin-spacegame-web.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web.git (push)
Origin 指定你在 GitHub 上的存储库。 对另一个存储库中的代码创建分支时,通常将原始远程库(之前从中创建分支的远程库)命名为“上游”。
运行以下 命令可创建一个名为“upstream”的远程库,它指向 Microsoft 存储库
git remote add
:git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web.git
再次运行
git remote
查看更改:git remote -v
可看到,你仍然具有对存储库的提取(下载)和推送(上传)访问权限。 现在,你还对 Microsoft 存储库具有提取和推送访问权限:
origin https://github.com/username/mslearn-tailspin-spacegame-web.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web.git (push) upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web.git (fetch) upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web.git (push)
生成并运行 Web 应用
在 Visual Studio Code 联机编辑器中,导航到终端窗口,并运行下面的
dotnet build
命令以生成应用:dotnet build --configuration Release
在终端窗口中,运行下面的
dotnet run
命令以运行应用:dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
.NET 解决方案文件可以包含多个项目。
--project
参数指定 Space Game Web 应用的项目。
验证应用程序是否正在运行
在开发模式下,Space Game 网站配置为在端口 5000 上运行。
Visual Studio 编辑器中会显示一条新消息。 在端口 5000 上运行的应用程序可用。 选择“在浏览器中打开”以转到正在运行的应用。
在新的浏览器窗口中,应当会显示 Space Game 网站:
可以与页面进行交互,包括排行榜。 选择玩家名字时,会看到该玩家的详细信息:
完成后,返回到终端窗口,并选择 Ctrl + C 以停止正在运行的应用。
准备 Visual Studio Code
首先设置 Visual Studio Code,以便可以在本地生成网站并使用源文件。
Visual Studio Code 附带一个集成终端,便于在同一个位置编辑文件和使用命令行。
启动 Visual Studio Code。
在“视图”菜单中选择“终端”。
从下拉列表中,选择“bash”:
通过终端窗口,可选择安装在系统上的任何 shell,如 Bash、Zsh 和 PowerShell。
在此,你将使用 Bash。 适用于 Windows 的 Git 提供了 Git Bash,以便轻松运行 Git 命令。
注意
如果未在 Windows 上看到“Git Bash”选项,请确保已安装 Git,然后重启 Visual Studio Code。
运行
cd
命令可导航到要使用的目录,例如主目录 (~
)。 如果需要,可选择其他目录。cd ~
配置 Git
如果刚接触 Git 和 GitHub,那么首先需要运行一些命令,将你的标识与 Git 相关联并在 GitHub 中进行身份验证。
设置 Git 更详细地解释了此过程。
至少需要完成以下步骤。 通过 Visual Studio Code 集成终端运行这些命令。
获取源代码
现在,你将从 GitHub 获取源代码并设置 Visual Studio Code,以便可以运行应用并使用源代码文件。
创建分支
在 Git 中使用项目的第一步是创建一个分叉,以便可以使用和修改源文件。 分支是 GitHub 存储库的副本。 该副本位于你的帐户中,使你可以进行所需的任何更改,而不会影响原始项目。
你可以提议对原始项目进行更改,但在此课程中,你将使用 Space Game Web 项目,就好像它是 Mara 及其团队拥有的原始项目一样。
将 Space Game Web 项目分支到 GitHub 帐户:
在 Web 浏览器中,转到 GitHub 并登录。
转到 Space Game Web 项目。
选择“分支”:
按照说明在帐户中创建存储库分支。
在本地克隆分支
在 GitHub 帐户中拥有 Space Game Web 项目的副本后,可以下载或克隆副本到计算机,以便可以在本地使用。
克隆与分支类似,都是存储库的副本。 克隆存储库时,可以执行更改,验证它们是否按预期工作,然后将这些更改上传回 GitHub。 还可以将其他经过身份验证的用户对 GitHub 的存储库副本所做的更改同步到本地副本。
将 Space Game Web 项目克隆到计算机:
转到 GitHub 上的 Space Game Web 项目分支。
在命令栏中,选择“代码”。 显示“克隆”选项的窗格,其中包含克隆类型的选项卡。 从“HTTPS”选项卡选择 URL 旁边的复制图标,将该 URL 复制到剪贴板。
在 Visual Studio Code 中,转到终端窗口,输入
git clone
,然后粘贴剪贴板中的 URL。 它看起来应该类似于:git clone https://github.com/username/mslearn-tailspin-spacegame-web.git
Cloning 'mslearn-tailspin-spacegame-web'...
操作完成后,输入以下命令以更改为mslearn-tailspin-spacegame-web
目录。 存储库的根目录。cd mslearn-tailspin-spacegame-web
设置上游远程库
远程库是一个 Git 存储库,团队成员可在其中进行协作(与 GitHub 上的存储库类似)。 让我们列出你的远程服务器,并添加一个指向 Microsoft 存储库副本的远程服务器,这样你就可以获得最新的示例代码。
若要列出远程库,请运行下面的
git remote
命令:git remote -v
可以看到你对存储库具有提取(下载)和推送(上传)访问权限:
origin https://github.com/username/mslearn-tailspin-spacegame-web.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web.git (push)
Origin 指定你在 GitHub 上的存储库。 对另一个存储库中的代码创建分支时,通常将原始远程库(之前从中创建分支的远程库)命名为“上游”。
运行以下 命令可创建一个名为“upstream”的远程库,它指向 Microsoft 存储库
git remote add
:git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web.git
再次运行
git remote
查看更改:git remote -v
可看到,你仍然具有对存储库的提取(下载)和推送(上传)访问权限。 现在,你还对 Microsoft 存储库具有提取和推送访问权限:
origin https://github.com/username/mslearn-tailspin-spacegame-web.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web.git (push) upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web.git (fetch) upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web.git (push)
在文件资源管理器中打开项目
在 Visual Studio Code 中,终端窗口指向 Space Game Web 项目的根目录。 现在,打开项目以查看其结构并使用文件。
打开项目最简单的方法是在当前目录中重新打开 Visual Studio Code。 为此,可在集成终端中运行以下命令:
code -r .
可以在文件资源管理器中查看目录和文件树。
重新打开集成终端。 终端会将你带至 Web 项目的根目录。
如果 code
命令失败,则需要将 Visual Studio Code 添加到系统路径。 为此,请执行以下操作:
在 Visual Studio Code 中,选择 F1 或者“视图”>“命令面板”来访问命令面板。
在命令面板中,输入“Shell 命令: 在 PATH 中安装 "code" 命令”。
重复上一过程,在文件资源管理器中打开项目。
生成并运行 Web 应用
现在,你已拥有 Web 应用,可在本地生成并运行它。
在 Visual Studio Code 中,导航到终端窗口,并运行下面的
dotnet build
命令以生成应用:dotnet build --configuration Release
备注
如果找不到
dotnet
命令,请查看本模块开头的先决条件。 你可能需要安装 .NET SDK。.NET 项目通常附带两种生成配置:调试和发布。 调试生成未针对性能进行优化。 该生成使你能够更轻松地跟踪程序并解决问题。 在此处选择“发布”配置,这只是为了看一看 Web 应用的实际应用。
在终端窗口中,运行下面的
dotnet run
命令以运行应用:dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
.NET 解决方案文件可以包含多个项目。
--project
参数指定 Space Game Web 应用的项目。
验证应用程序是否正在运行
在开发模式下,Space Game 网站配置为在端口 5000 上运行。
从新的浏览器选项卡中,导航到 http://localhost:5000
查看正在运行的应用:
提示
如果在浏览器中看到与隐私或证书错误相关的错误,请在终端中选择 Ctrl + C 以停止正在运行的应用。
然后运行 dotnet dev-certs https --trust
,在出现提示时选择“是”。 有关详细信息,请参阅此博客文章。
在计算机信任本地 SSL 证书后,再次运行 dotnet run
命令,并从新的浏览器标签页转到 http://localhost:5000
来查看正在运行的应用程序。
可以与页面进行交互,包括排行榜。 选择玩家名字时,会看到该玩家的详细信息:
完成后,返回到终端窗口,并选择 Ctrl+C 以停止正在运行的应用。