首页 > 解决方案 > 自动将节点 js 应用部署到 azure(无 github)

问题描述

Azure 应用服务: Linux 服务器、Node JS 实例
应用: Node.js

前提条件:

  1. 未提供登录凭据。客户只给我们发布设置文件。
  2. 直接 FTP 访问不会授予修改或添加文件的权限(仅读取和下载)
  3. 由于我们公司的政策,我们无法将代码直接链接到 GitHub/Azure 客户端中的任何源管理系统。代码必须直接从本地部署。

部署方式:

Kudu API 发布 zip 文件(在上述限制下我们能想到的唯一方法)

挑战:

  1. 每次我们进行部署时,旧文件和上传的 zip 文件都不会被删除
  2. 每次我们进行部署时,我们都需要让客户端运行命令npm install(如果有新的包)
  3. 每次部署时,都需要让客户端“重启应用服务”才能生效

期待:

考虑到约束,我们如何使挑战(1)、(2)和(3)自动化。我期待在通过 Kudu API 进行每个 zip 部署后,我们可以在客户端 azure 中设置一些 Posthook 脚本?并且可能已经有 posthook 脚本的模板。

例如:在我压缩部署后,Azure 将自动检测并运行脚本,如下所示:

  1. 删除旧文件,压缩解压,解压完成后删除压缩文件
  2. npm install
  3. 重启应用

并且可能根据返回的脚本错误消息返回任何错误。

这是否可能,是否有任何文档,或者是否有任何我不知道的更直接的方法。

标签: node.jsazureazure-web-app-servicekudu

解决方案


推荐阅读