Azure管道是否允许像AWS代码管道这样的自定义操作?

imzjd6km  于 2023-01-31  发布在  其他
关注(0)|答案(2)|浏览(137)

Azure管道是否允许像AWS代码管道这样的自定义操作?
我希望创建一个作业工作机,该工作机将轮询Azure管道以查找此自定义操作的作业请求,执行该作业,并将状态结果返回到Azure管道。
类似于-https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-create-custom-action.html

umuewwlo

umuewwlo1#

任务是用于在Azure DevOps中定义生成或发布管道中的自动化的构造块。有许多built-in tasks可用于实现基本的生成和部署方案。如果现有任务不能满足你的需要,你始终可以生成custom task。有关详细信息,请查看Task types & usage

此外,Visual Studio Marketplace提供了许多扩展;其中每一个在安装到你的订阅或集合时,都会使用一个或多个任务扩展任务目录。此外,你可以编写自己的custom extensions以将任务添加到Azure管道。

Azure管道代理

管道运行时,系统将开始一个或多个作业。代理是安装了代理软件的计算基础结构,它一次运行一个作业。
您有两个选项可供选择:Microsoft托管代理自托管代理
您自己设置和管理以运行作业的代理是自承载代理。自承载代理给予您能够更好地控制安装生成和部署所需的相关软件。此外,计算机级缓存和配置在每次运行时都保持不变,这可以提高速度。
但是,在安装自托管代理之前,您可能希望查看Microsoft托管代理池是否适合您。在许多情况下,这是最简单的方法。
使用Microsoft-hosted agents,可以为你进行维护和升级。每次运行管道时,你都会获得一个新的虚拟机。该虚拟机在使用一次后将被丢弃。Microsoft托管的代理可以直接在VM上或容器中运行作业。Azure Pipelines为Microsoft托管的代理提供名为Azure Pipelines的预定义代理池。
你可以先尝试一下,看看它是否适合你的构建或部署。如果不适合,你可以使用自托管代理。查看this文档了解更多详细信息。

ippsafx7

ippsafx72#

我将从我的自定义作业worker中提取代理队列并处理作业。这在azure pipelines中可能吗?
基于我对代码管道和Azure devops的理解,恐怕你说的话应该没有意义。
根据文档Create and add a custom action in CodePipeline,我们可以知道:
AWS CodePipeline包含许多操作,可帮助您为自动发布流程配置构建、测试和部署资源。如果您的发布流程包含未包含在默认操作中的活动,如内部开发的构建流程或测试套件,您可以为此目的创建自定义操作并将其包含在您的管道中
但是对于Azure开发操作,我们需要创建一个作业工作器来轮询CodePipeline以获取此自定义操作的作业请求。这是因为构建/发布的整个流程都可以自定义。我们不需要为其他自定义操作添加作业工作器。
Azure开发人员在创建管道时提供了大量模板,我们可以直接在管道中修改管道以添加/删除或更新任务:

甚至我们可以完全从一个空白的管道开始,完全定制整个构建/发布过程。
因此,我们不需要为自定义操作创建作业工人,只需直接修改管道即可。

相关问题