如何将发布 ID 和内部版本号提取到我的 Azure DevOps 部署的 PHP 应用程序中

Posted

技术标签:

【中文标题】如何将发布 ID 和内部版本号提取到我的 Azure DevOps 部署的 PHP 应用程序中【英文标题】:How can I pull the release ID and build number into my Azure DevOps deployed PHP app 【发布时间】:2020-01-13 11:45:31 【问题描述】:

我正在使用 Azure DevOps 构建和发布我的 php 应用程序,目前该应用程序是在 Azure WebApp 实例中的一个暂存槽,以便我可以将它热切换到生产槽。该过程使用 Azure Pipelines 从分支构建(压缩)应用程序,这会将构建工件传递到 Releases 事件链,然后将其推送到 Azure 实例。

我正在尝试将 Azure DevOps 版本 ID 和内部版本号提取到部署到 Azure WebApp 插槽的实例中,但我可能无法让它工作。

到目前为止,我所尝试的(bash 脚本、环境变量)似乎只是在进行部署的代理上设置环境变量,而不是在实际的 Azure WebApp 实例上。

我已经检查了尽可能多的 Azure DevOps 和 WebApp 文档,虽然在 Windows 环境中有一些项目可以做到这一点,但对于 Linux 环境(这就是 Web 应用程序就是使用)。

(我已经阅读过的文档:https://docs.microsoft.com/en-us/azure/devops/pipelines/release/variables?view=azure-devops&tabs=batch)

【问题讨论】:

【参考方案1】:

回答我自己的问题,以防其他人有同样的问题。

我通过在管道阶段(在我们归档文件之前)使用 YAML 将值回显到 PHP 可以读取的文件中来部分解决了这个问题。

- script: echo "deployed = $(Build.BuildNumber).$(Build.SourceBranchName)" > deployed_version.var
  displayName: 'Echo build number into readable file'

然后,在 PHP 中,使用这个:

$version_raw = parse_ini_file("deployed_version.var");
echo $version_raw["deployed"];

这不会输出版本号,因为它是在发布阶段之前产生的,但这是一个好的开始。

【讨论】:

干得好!你可以accept it as answer让更多的会员看到这个有用的信息!

以上是关于如何将发布 ID 和内部版本号提取到我的 Azure DevOps 部署的 PHP 应用程序中的主要内容,如果未能解决你的问题,请参考以下文章

从 qmake 运行脚本以获取内部版本号

如何获取我的 Android 应用程序的内部版本号? [复制]

如何强制 Flutter 更新我的版本和内部版本号?

如何自动将内部版本号添加到 Xcode ios 存档

如何访问当前的 Subversion 内部版本号?

将内部版本号传递给 Fastlane/Gym 中的 xcargs