【问题标题】:Use git or hg repository tag as version in Azure Pipelines在 Azure Pipelines 中使用 git 或 hg 存储库标记作为版本
【发布时间】:2018-12-07 06:30:07
【问题描述】:

我想在 Azure Pipelines 中构建一个项目,但我想知道获取最新标记、最新标记距离和 repo 远程路径/URL 的惯用方式是什么,以便将这些值传递到实际的构建脚本中这是在存储库中。

以前我们的构建脚本会使用巧妙的模板调用 hg log -r . --template,但我们在迁移到 Continua CI 构建服务器时发现构建代理在构建期间无法访问实际存储库,因此必须找到另一种方法.

我假设 Azure Pipelines 也会出现同样的问题,但尚未完全找到有关工件版本控制的相关文档。

非常感谢。

【问题讨论】:

  • 看起来这个答案包含您需要的所有信息:stackoverflow.com/a/38731565/274535
  • 不是真的;我不想在构建期间执行 hg 或 git 命令(因为在 Continua 和 Azure Pipelines 中,实际的存储库文件夹在构建期间不存在),我想了解该工具如何决定它正在构建的版本,并且它如何将其传达给进行实际构建的构建代理。
  • 嗯,我认为 Azure Pipelines 构建代理在构建过程中具有实际的 Git 存储库,这就是为什么 Git 命令是可能的......上面线程中引用的 Microsoft 文档包含 PowerShell 构建任务的示例运行 Git 命令

标签: continuous-integration azure-devops versioning


【解决方案1】:

至少对于 git,Azure Pipelines 默认情况下会对 repo 进行完整克隆,除非您明确指出您正在进行浅层克隆(来源:https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/pipeline-options-for-git?view=azure-devops)。

可以通过普通的 git 命令(即 git describe --tags 或您喜欢的任何内容)导出版本/标签,然后可以将其保存为 VSO 变量,以便在同一作业的后续步骤中访问(参见 @987654322 @了解有关如何执行此操作的更多信息)。

【讨论】:

    猜你喜欢
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多