练习 - 设置环境

已完成

团队已在缓慢地将 DevOps 策略集成到其进程中。 在本部分,你要确保你的环境反映出团队至今为止的工作。

为此,请执行以下操作:

  • 添加一名用户,确保 Azure DevOps 可连接到你的 Azure 订阅。
  • 设置一个 Azure DevOps 项目供本模块使用。
  • 添加生成管道。

向 Azure DevOps 添加用户

要完成本模块,你需要有自己的 Azure 订阅。 可免费开始使用 Azure。

虽然无需 Azure 订阅即可使用 Azure DevOps,但本模块将使用 Azure DevOps 部署到 Azure 订阅中的现有 Azure 资源。 为了简化操作过程,请使用同一 Microsoft 帐户登录 Azure 订阅和 Azure DevOps 组织。

如果使用不同的 Microsoft 帐户登录 Azure 和 Azure DevOps,请在你用于登录 Azure 的 Microsoft 帐户下,向你的 DevOps 组织添加一名用户。 有关详细信息,请参阅添加组织用户和管理访问权限。 添加用户时,请选择“Basic”访问级别。

然后注销 Azure DevOps,并使用用于登录 Azure 订阅的 Microsoft 帐户再次登录。

获取 Azure DevOps 项目

确保你的 Azure DevOps 组织已设置好,可完成本模块的其余操作。 为此,可运行一个用于在 Azure DevOps 中创建项目的模板。

该学习路径中的模块形成了一个进程,在这一进程中,你将跟随 Tailspin Web 团队完成他们的 DevOps 之旅。 为便于学习,每个模块都有一个关联的 Azure DevOps 项目。

运行模板

运行 Azure DevOps 组织中可设置所有内容的模板。

在 Azure DevOps 演示生成器网站上,按照以下步骤运行模板:

  1. 选择“Sign In”并接受使用条款。

  2. 在“Create New Project”页上,选择 Azure DevOps 组织,输入项目名称,例如“Space Game - web - Release”。

    Screenshot of the Azure DevOps Demo Generator web site showing the process to create the project.

  3. 选择“Yes, I want to fork this repository”>“Authorize”。 如果出现相关窗口,请授权访问你的 GitHub 帐户。

    重要

    需要选择此选项,模板才能连接到 GitHub 存储库。 即使已为 Space Game 网站项目创建分支,也请选中此选项。 该模板使用现有分支。

  4. 选择“创建项目”。 模板需要一些时间来运行。

  5. 选择“导航到项目”,转到你在 Azure DevOps 中的项目。

重要

此模块中的清理 Azure DevOps 环境页面包含重要的清理步骤。 清理操作有助于确保免费生成分钟数不会耗尽。 即使未完成此模块,也要务必执行清理步骤。

设置项目的可见性

最初,GitHub 上 Space Game 存储库的分支设置为“公共”,而 Azure DevOps 模板创建的项目设置为“专用”。 GitHub 上的公共存储库可供任何人访问,而专用存储库仅供你和你选择与之共享的人员访问。 同样,在 Azure DevOps 上,公共项目为未经身份验证的用户提供只读访问权限,而专用项目要求授予用户访问权限并经过身份验证才能访问服务。

目前,出于本模块的目的,无需修改这些设置中的任何一个。 但是,对于个人项目,必须确定要授予其他人的可见性和访问权限。 例如,如果你的项目是开源的,你可能会选择将 GitHub 存储库和 Azure DevOps 项目都设为“公共”。 而如果你的项目是专有的,那么你通常会将 GitHub 存储库和 Azure DevOps 项目都设为“专用”。

稍后,你会发现以下资源有助于确定哪个选项最适合你的项目:

准备 Visual Studio Code

设置 Visual Studio Code,以便可在本地生成网站并使用源文件。

Visual Studio Code 附带一个集成终端,你可通过它从同一个位置编辑文件和使用命令行。

  1. 启动 Visual Studio Code。

  2. 选择“终端”,然后选择“新建终端”。

  3. 在下拉列表中,选择“Git bash”。 如果熟悉其他你想用的 Unix shell(例如 Zsh),请选择对应的 shell。 适用于 Windows 的 Git 提供了 Git Bash,以便轻松运行 Git 命令。

    注意

    如果未在 Windows 上看到“Git Bash”选项,请确保已安装 Git,然后重启 Visual Studio Code

  4. 运行以下命令以导航到主目录。

    cd ~
    

配置 Git

如果刚接触 Git 和 GitHub,那么首先需要运行一些命令,将你的标识与 Git 相关联并在 GitHub 中进行身份验证。 有关详细信息,请查看设置 Git

至少需要完成以下步骤:

  1. 下载并安装最新版本的 Git
  2. 设置用户名
  3. 设置提交电子邮件地址

备注

如果已在对 GitHub 使用双因素身份验证,请创建个人访问令牌。 稍后在出现提示时,使用令牌代替密码。

将访问令牌当作密码一样对待。 请将它保存在安全的位置。

在 Visual Studio Code 中设置项目

在你运行模板来设置 Azure DevOps 项目时,该过程已自动为 mslearn-tailspin-spacegame-web-deploy 存储库设置了分支。 现在,你将副本下载或克隆到计算机,以便能够使用它。

在本地克隆分支

  1. GitHub 上转到 Space Game Web 项目的分支 (mslearn-tailspin-spacegame-web-deploy)。

  2. 选择“代码”,然后从“HTTPS”选项卡中选择复制按钮,将该 URL 复制到剪贴板。

    Screenshot that shows how to locate the URL and copy button from the GitHub repository.

  3. 在 Visual Studio Code,转到之前打开的终端窗口。

  4. 运行 git clone 命令。 将此处显示的 URL 替换为剪贴板中的内容:

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
    
  5. 移动到“mslearn-tailspin-spacegame-web-deploy”目录。 这是存储库的根目录。

    cd mslearn-tailspin-spacegame-web-deploy
    

设置上游远程库

远程库是一个 Git 存储库,团队成员可在这里进行协作(例如 GitHub 上的存储库)。 这里列出了你的远程并添加指向 Microsoft 存储库副本的远程,这样就可以获得最新的示例代码。

  1. 运行以下命令列出远程库:

    git remote -v
    

    你可以看到你对存储库具有提取(下载)和推送(上传)访问权限:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    

    Origin 指定你在 GitHub 上的存储库。 对另一个存储库中的代码创建分支时,通常将原始远程库(之前从中创建分支的库)命名为“upstream”。

  2. 运行以下命令创建一个名为“upstream”的远程库,它指向 Microsoft 存储库:

    git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
    
  3. 再次运行 git remote 查看更改:

    git remote -v
    

    可看到,你仍然具有对存储库的提取(下载)和推送(上传)访问权限。 现在,你还对 Microsoft 存储库具有提取访问权限:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (push)
    

在 Visual Studio Code 中打开项目

  1. 从项目的根目录运行以下命令。

    code .
    
  2. 重新打开集成终端。 终端会将你带至 Web 项目的根目录。

如果 code 命令失败,则需要将 Visual Studio Code 添加到系统路径。 为此,请执行以下操作:

  1. 在 Visual Studio Code 中,选择 F1 或者“视图”>“命令面板”来访问命令面板。
  2. 键入“shell command”以查找“Shell Command: Install 'code' command in PATH”命令。
  3. 重启终端,使新的 PATH 生效。

现在你已设置好,可从本地开发环境使用 Space Game 源代码和 Azure Pipelines 配置了。

从 GitHub 中提取分支

  1. 在 Visual Studio Code 中打开集成终端。

  2. 运行以下命令,从 MicrosoftDocs 存储库中提取 release-pipeline 分支,并签出新的分支 upstream/release-pipeline。

    git fetch upstream release-pipeline
    git checkout -B release-pipeline upstream/release-pipeline
    
  3. (可选)在 Visual Studio Code 中打开 azure-pipelines.yml 文件,熟悉初始 YAML 管道配置。

运行管道

此时,你应具备:

  • GitHub 帐户的 mslearn-tailspin-spacegame-web-deploy 存储库分支。
  • 在本地克隆的 mslearn-tailspin-spacegame-web-deploy 存储库。
  • 名为 release-pipeline 的分支,包含网站源代码和初始 Azure Pipelines 配置。

接下来,手动触发管道运行。 此步骤可确保项目已设置好,可从 GitHub 存储库进行生成。 初始管道配置生成应用程序并生成项目。

  1. 导航到 Azure Devops 中的项目,然后选择“Pipelines”。

  2. 选择管道“mslearn-tailspin-spacegame-web-deploy”。 如果出现提示,请确保选择“授权资源”来授权服务连接。

    Screenshot of Azure Pipelines showing the pipeline for this project. The pipeline has no runs.

  3. 选择“运行管道”,然后从“分支/标记”下拉菜单中选择“release-pipeline”分支。 选择“运行”。

    Screenshot of Azure Pipelines showing the location of the Run pipeline button.

  4. 在“摘要”页中,选择管道作业以查看日志。

    Screenshot of Azure Pipelines showing the running job.

  5. 生成完成后,若要返回到摘要页,请选择返回按钮。

    Screenshot of Azure Pipelines showing how to navigate to the summary page.

  6. 选择已发布的项目。

    Screenshot of Azure Pipelines showing the location of the link to the published artifact.

  7. Tailspin.Space.Game.Web.zip 是生成项目。 此文件包含生成应用程序及其依赖项。

    Screenshot of Azure Pipelines showing the published artifact. The artifact includes a .zip file.

现已拥有用于 Space Game Web 项目的生成管道。 接下来,将添加一个部署阶段,用于将生成项目部署到 Azure 应用服务。