使用devops管道部署到AKS后如何运行ps1脚本

时间:2020-07-03 01:38:10

标签: azure-devops containers azure-pipelines azure-aks

使用Azure devops将容器部署到AKS(Azure Kubernetes Services)后,我想运行Powershell或批处理脚本。

我的Web api(容器化)到AKS的部署正在工作。但是,我想在部署后在容器内运行脚本。

是否可以在devops管道中添加任务?还是有另一种方法可以做到这一点。

接下来的问题,我想在容器内运行shell的原因是为了执行此命令dotnet ef update database以运行迁移。但是它需要在容器内部安装EF Core迁移。不确定这是否是最佳方法,因为在应用程序启动中运行迁移将起作用。有没有一种方法可以通过外壳运行迁移而无需安装任何东西?

1 个答案:

答案 0 :(得分:2)

要在正在运行的Pod中运行命令,您可以将kubectl客户端二进制文件与exec命令一起使用

在天蓝色devops内,该线程将向您展示两种方式

https://github.com/microsoft/azure-pipelines-tasks/issues/9365

一个人在kubernetes命令“ login”中使用bash任务

如果您未启用“天蓝色添加”集成,这将起作用。

另一种方法是使用azure CLI任务

https://github.com/MicrosoftDocs/azure-devops-docs/blob/master/docs/pipelines/tasks/deploy/azure-cli.md

这样,您可以使用get-credentials检索群集凭据。然后安装CLI(kubectl),您应该已全部设置为运行kubectl exec。