Azure DevOps Pipeline日志中出现的“Pre-job”和“Post-job”任务是什么?

7
我有以下的Pipeline任务: (关键是其中一个名为签署和对齐APK文件的任务)。

enter image description here

当我查看构建日志时,除了Signing and aligning APK file(s)任务日志之外,还有Pre-job: Signing and aligning APK file(s)Post-job: ...(与Checkout相同)的日志。然而,我不太明白这些任务是什么,以及它们如何出现在日志中?我找不到任何相关的文档。因此,考虑到存在“预作业”任务,是否有任何方法可以定义在Pipeline构建开始之前执行自己的任务?

enter image description here

1个回答

9

任务可以定义前置和后置步骤。这些步骤将被添加到作业的初始化阶段和清理阶段。在签名任务的情况下,我可以想象它有助于确保当作业完成时,秘密得到适当的清除。

特别是在共享代理上,这非常重要,因为不进行清理可能会导致秘密留在代理上,并且可能被运行在同一台机器上的其他作业“捕获”。

您可以通过查看源代码来深入了解这些作业的确切操作:


1
是的。那就是要做的事情。 - jessehouwing
只是为了确保我不会发明任何自行车(只要我找不到任何原因,为什么在执行任何其他任务之前没有人想运行任何初始PowerShell脚本),您是否知道任何方便的(现有的)工具/方法来做到这一点(使用PowerShell或其他类似的方法)? - Agat
1
理论上,您可以将此功能添加到现有的“运行 PowerShell”任务中。据我所知,默认情况下不包含此功能。可能值得向 Azure-Pipelines-tasks 提交拉取请求。 - jessehouwing
@Agat 出于好奇,你最终是否创建了一个执行 PowerShell 作为预作业步骤的任务?我现在也需要这个功能。 - Kamuela Franco
@KamuelaFranco 一个示例:https://github.com/jessehouwing/azure-pipelines-tfvc-tasks/tree/main/tf-vc-dontsync/v2 - jessehouwing
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接