我已经对此进行了一些搜索,但是有关于如何安排使用Azure CLI命令运行的作业的文档吗?
我想在云中运行,但azure自动化并不支持CLI(但是),所以我倾向于使用Azure Scheduler ......但不知道它的优点和缺点。
或者,是否可以在Azure Cloud Shell中以某种方式创建预定作业...我认为这是由某些VM支持的,因此如果它是基于Linux的,我们可能会发起一个cron作业......我不知道该怎么做。
的Ta!
答案 0 :(得分:4)
我尝试了一些有关如何在云中使用Azure CLI的信息,但似乎没有太多可用。
Azure CLI有两个版本:
npm install -g azure-cli
Azure Web Apps支持运行在node.js上构建的应用程序。从技术上讲,您可以在Web应用程序中安装v1.0模块,并按计划运行脚本。
但是,建议使用v2.0。但这会提供一种自动化的可能性。
当前的Azure CLI不支持,但在撰写本文时,目前正在审核中。有关uservoice建议,请参阅此link,如果这是所需功能,请对其进行投票。
据我所知,无法在Azure功能上运行Azure CLI。
Azure Scheduler是一种仅调用其他位置托管的代码的服务。这仍然意味着您需要在其他地方(即云或本地)托管您的代码,然后让调度程序为您运行它。
支持的触发机制是:
它是一个shell,包含运行命令和脚本所需的工具,而无需在本地安装任何东西。使用cron调度任何东西似乎都不可能。
目前,如果您想编写某些内容并在云中运行,我建议您查看PowerShell。可以在Azure Functions上运行PowerShell脚本和时间触发器,并支持添加自己的自定义模块。
如果您需要使用Azure CLI和无服务器,那么您可以在Docker容器内运行它并在云中托管容器,例如在Azure Container Instances。请参阅this链接,了解如何创建它。
答案 1 :(得分:0)
您可以为此使用AzureDevOps管道:
pr: none
trigger: none
schedules:
- cron: "0 7 * * 1-5"
displayName: "Working-hours (7 am UTC, Monday to Friday)"
always: true
branches:
include:
- master
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'PipelineServiceConnection'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: 'az --version'
您要做的是通过“ AzureDevops管道”选项卡创建一个新管道:
yaml脚本使用称为“ PipelineServiceConnection”的服务连接来创建此类服务连接,请参见:https://docs.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops
有关AzureCLI任务的更多信息: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-cli?view=azure-devops