繁体   English   中英

使用 Azure Devops 将控制台应用程序部署到 Azure VM 上的文件系统

[英]Deploying a console app to the filesystem on an Azure VM using Azure Devops

我有一个用 .Net 核心编写的控制台应用程序,它用作 Windows 服务。 我的目标是使用 Azure DevOps 将其部署到我们的其中一个 VM,以便我们可以将应用程序安装为服务并让它轮询内部 api 并在幕后的计时器上运行一些业务逻辑。

我的构建管道在 DevOps 中就位,并且正在生成必要的工件(基本上是我想要部署到 VM 的文件夹)作为 zip 文件,但我现在遇到的问题是部署到文件系统。

通常在 Devops 中,我们将使用连接到 Azure 租户的服务原则或应用程序服务部署到 IIS,这意味着为我们完成了大量验证等工作,但是,在浏览 Microsoft 文档后,我找不到有关如何操作的示例使用服务原则(本质上是 DevOps 和 VM 之间经过验证的连接)部署到 VM 的文件系统。

有没有人有任何关于为此使用哪个任务的指示? 我正在通过 SSH 选项查看传输文件,它似乎允许您选择服务原则(无论如何我们已经将 IIS 网站部署到该服务器),因此理论上我相信我可以使用它。

非常感谢此场景的任何帮助或指示/最佳实践。

对于这个需求,你不能使用服务原则,因为虚拟机需要一个账号来认证。 例如,对于 Azure 文件复制任务,您仍然需要指定用户名和密码。

我建议您可以通过deployment group 来完成

  1. 创建新的部署组
  2. 将部署代理注册到这些 Azure VM 上的该部署组。
  3. 编辑管道并使用先前的部署组添加部署作业。
  4. 然后可以将所有相关工件下载到该 Azure VM,您可以添加其他任务来执行其他操作。

我的构建管道正在将必要的工件生成为 zip 文件,但我现在遇到的问题是部署到文件系统。

对于这个问题,可以先尝试使用Azure File Copy任务将zip文件复制到Azure VM。

当目标是 Azure VM 时,文件首先复制到自动生成的 Azure blob 容器,然后下载到 VM。 将文件成功复制到 VM 后,将删除容器。

然后您可以在目标机器任务上使用PowerShell并编写简单的内联脚本来解压缩 zip 文件,然后运行 ​​.exe 文件。 此外,您还需要在虚拟机上进行远程配置。 这篇文章可能会帮助你解决这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM