练习 - 使用 GitHub Actions 自动执行更新
GitHub Actions 可用于为许多不同的服务(包括 Azure SQL 数据库)自动执行 CI/CD 管道。
回想一下在乘车场景中,你将使用数据库来构建应用程序的基础。 如果你想要更新数据库或自动将相同配置部署到新的数据库,可以使用 GitHub Actions。
若要自动更新,需要配置 GitHub 机密和 yaml 文件。 设置好这些内容后,推送的新提交会触发工作流,进而更新 Azure SQL 数据库或其他服务。
使用 GitHub 安全地配置机密
可使用 GitHub 机密来将机密、密钥和其他敏感信息安全地存储在 GitHub 中。 在本部分中,你将创建一个新的 GitHub 机密,其中包括你的 Azure SQL 数据库连接字符串。
在文本文件、记事本或纸上,确定 Azure SQL 数据库的连接字符串。 它应类似于
Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;
在 GitHub 上导航到你对本模块使用的存储库(确保你已登录)。 它应类似于
https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql
。选择存储库的“设置”。
选择“机密和变量”>“操作”>“新存储库机密”,然后输入以下信息:
- 名称:AZURE_SQL_CONNECTION_STRING
- 机密:上一步中的连接字符串
选择“添加机密”。
为 GitHub Actions 配置 yaml 文件
代码存储库中提供了多个模板 yaml 文件。 对于本模块,将仅使用 Azure SQL 数据库的工作流文件。
在 Visual Studio Code 中,选择活动栏上的“资源管理器”图标以查看存储库文件。 如果未看到这些文件,请选择“文件”>“打开文件夹”,然后导航到克隆存储库的位置。
在文件夹
.github\workflows
下,将azuresqldatabase.yml.template
重命名为azuresqldatabase.yml
。查看模板,并查看了解工作流将执行哪些操作,以及它将如何更新数据库。
使用 Visual Studio Code 和 GitHub 来推送提交和监视结果
现在已配置 GitHub 机密和工作流文件后,接下来你可推送提交并观察工作流。
选择活动栏上的“源代码管理”图标。
在“消息”框中,输入“启用数据库 yaml”或其他消息。
选择复选标记。 如果收到有关提交而不暂存任何文件的警告,可选择“是”以暂存更改的文件。
选择“...” >“推送”。 这会将更新推送到你在 GitHub 上托管的存储库,并启动任何 GitHub Actions。
重要
如果收到登录提示,则必须使用 GitHub 用户名并获取个人访问令牌(而不是提供 Github 密码)。 可转到 https://github.com/settings/tokens/new 来执行此操作。 添加
VSCode
注释、选中所有的框,然后选择“生成令牌”。 复制令牌文本并将其存储在安全的位置。 返回到 Visual Studio Code,使用令牌作为密码/令牌登录 GitHub。导航到你对此模块使用的 GitHub 存储库,然后选择“操作”。 通过 GitHub Actions,可直接在存储库中自动执行、自定义和执行软件开发工作流。
观察正在运行(或已经完成)的工作流的内容。 请注意 Azure SQL 操作如何使用存储库中的
.dacpac
文件将数据库的最终状态部署到 Azure SQL 数据库。