【问题标题】:Do I have to zip up the artifacts before deploying to Azure App Service?在部署到 Azure 应用服务之前,我是否必须压缩工件?
【发布时间】:2021-01-15 18:16:40
【问题描述】:

我目前正在完成创建 CI 开发管道并参考以下文档

所有参考资料都表明,工件首先被压缩、发布,然后部署。

但是,项目开发人员告诉我,在 .NET 构建之后,他只是将生成的 AngularOutput 工件复制/部署到 Azure 应用服务。

我用归档任务然后发布的方式对其进行了测试,CI 管道工作得很好。但是,我也测试了直接发布而无需事先存档,我将路径更改为\Bundles\AngularOutput,发布步骤成功并显示了已发布的工件

所以问题是,如果在没有压缩/存档的情况下发布,那么 我可以在工件发布后直接部署吗?如果是这样,Azure App Service Deploy task: Package/Folder 需要指定什么?

如果归档任务是必要的/推荐的,那很好,但这是否意味着 Azure 应用服务部署将自动提取压缩的工件?

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-build-task


    【解决方案1】:

    首先,是的,您可以发布您的工件,而无需将它们作为工件实际发布到管道上。但是,如果您在管道上发布它们并将构建和发布管道分开,您可以重新部署而无需重新构建您的应用。

    如果需要,您也可以随时下载工件并手动发布。 (例如一些开发/调试目的)。

    还有Zip deploy方法

    这里用的

    创建所选包或文件夹的 .zip 部署包,并将文件内容部署到 Azure 中应用服务名称函数应用的 wwwroot 文件夹。此选项会覆盖 wwwroot 文件夹中的所有现有内容。有关详细信息,请参阅 Azure Functions 的 Zip 部署。

    因此,如果您需要从构建管道部署它,您只需将路径放到您的 zip 文件或内容所在的文件夹文件中。

    请考虑multi stage pipeline,您可以在其中分离各个阶段的构建和部署阶段。但是,在这种情况下,您需要将工件发布为管道工件。并且此管道工件将在deployment job 上自动下载。

    【讨论】:

    • 您好 Krzysztof,我对 without actually publishing them on the pipeline as artifact 的声明感到困惑,您的意思是:without actually ZIPPING them on the pipeline as artifact?此外,关于此声明:or to folder file where the content is. 发布工件的文件夹在管道上。但是我知道那个变量是什么? (如在我的图像中表明工件已生成并且我有箭头指向它)。对于 zip,它将是:$(System.DefaultWorkingDirectory)/**/*.zip 但对于 nonzip,变量是什么?
    • 不确定您是否已经找到上述所有内容。但是你有publish pipeline artifact。您可以控制下载位置,或形成什么 forlder ypu 发布管道工件。
    • 所以我只是运行它,跳过存档任务并立即发布 AngularOutput,所以由于我跳过存档,我将 Azure App Service 部署文件夹位置更改为 $(System.DefaultWorkingDirectory)/**/AngularOutput 并成功完成。但是,我在它说的日志中发现它很有趣:Package deployment using ZIP Deploy initiated. Successfully deployed web package to App Service. NOTE: Run From Package makes wwwroot read-only, so you will receive an error when writing files to this directory. Successfully updated App Service configuration details
    • 酷。如果它可以节省您的构建时间。你可以阅读更多关于Run from packagehere的信息。如果我的回复对您有帮助,您可以考虑点赞吗?
    • 没问题,完成:)
    猜你喜欢
    • 1970-01-01
    • 2020-05-01
    • 2019-10-07
    • 2017-07-12
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多