直接从 ZIP 包部署 Azure 应用服务

问题描述 投票:0回答:1

我们正在测试直接将 .zip 文件部署到应用程序服务插槽和插槽交换的场景。

首先,我们尝试将 .zip 文件部署到暂存槽,想法是在部署暂存槽后将暂存与生产槽交换。

我们使用下面的 CLI 命令设置 WEBSITE_RUN_FROM_PACKAGE="1" 并部署从命令行成功的 .zip 文件。

但是当我们尝试访问暂存槽 URL 时,应用程序未加载。它提供默认的 MS 应用程序前端页面,而不是我们的。

注意:- 我们可以找到上传到 home/data/SitePackages 目录的 .zip 文件,其中包含 packagetemplate.txt 文件,如document所述。

az webapp config set --resource-group myapp-rg --name myapp --slot staging --linux-fx-version "NODE|18-lts"

az webapp config set --resource-group myapp-rg --name myapp --slot staging --startup-file "pm2 start /home/site/wwwroot/xxxx.js --no-daemon"

• 设置 WEBSITE_RUN_FROM_PACKAGE 的环境变量:

    az webapp config appsettings set --resource-group myapp-rg --name myapp --slot staging --settings WEBSITE_RUN_FROM_PACKAGE="1"

• 部署 .zip 工件:

   az webapp deployment source config-zip -g myapp-rg -n myapp --slot staging --src myapp.zip
azure-web-app-service azure-cli azure-webapps
1个回答
0
投票

当我使用下面的命令时,我收到了已弃用的警告。

 az webapp deployment source config-zip -g  <ResourceGroupName> -n <WebAppName> --slot <SlotName> --src <ZipfilePath>

enter image description here

我参考了这个 Ms Doc 并使用以下命令启用

Run From Package
并将 ZIP 文件部署到 Web 应用程序插槽:

 az webapp config appsettings set --resource-group <ResourceGroupNam> --name <WebAppName> --slot <SlotName> --settings WEBSITE_RUN_FROM_PACKAGE="1"

az webapp deploy --resource-group <ResourceGroupNam> --name <WebAppName> --slot <SlotName> --src-path <ZipPath>

确保使用如下环境变量在

PORT
文件中定义
index.js
const PORT = process.env.PORT || 3000;

index.js:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => {
    res.send('Hello, World!');
});
app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`);
});

在 package.json 中使用以下启动脚本。

 "scripts": { "start": "node index.js" }

package.json:

{
  "name": "my-node-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.21.1"
  }
}

已成功部署到Azure Web应用程序,如下所示。

enter image description here

要检查日志,请转到 Azure Web App -> 部署槽 -> 暂存槽 -> 监控 -> 日志流。

检查是否存在与部署和其他问题相关的任何错误。

enter image description here

enter image description here

Azure 输出

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.