在Microsoft Azure中部署Ember Js应用程序

时间:2018-06-07 16:15:15

标签: git azure ember.js web-deployment

我创造了一个简单的" Hello World"在Ember.js的应用程序。它运行在我的本地环境中。之后,我使用命令" ember build --env production"构建我的应用程序以部署到Web主机。

然后,我使用本地git将其推送到Microsoft Azure。在这种情况下,我使用本地git作为Azure中的部署选项来部署我的Ember App。 因此在我的本地cmd之后,我点击了这个命令" git push origin master",消息显示成功,但是当我在浏览器中点击URL时 - 它说"你做了没有权限查看目录或页面"。请问有谁可以告诉我这里的问题是什么?

2 个答案:

答案 0 :(得分:0)

我有很多类似的问题部署到azure作为一个独立的ember应用程序。我仍然在改变我的ci / cd的过程,但今天我将它部署到azure中的nodejs应用程序内的目录中,并且我在路由中提供客户端应用程序。我必须改变一些事情,所以我在gitlab-ci中进行本地ci / cd,部署到我的节点api repo的远程,然后我将服务器应用程序推送到visual studio ci,然后作为服务器api的一部分部署到azure

答案 1 :(得分:0)

尝试以下步骤。我能够在Azure中成功运行我的ember应用程序,我的代码在Github中。

<强>步骤1: npm install ember-cli-azure-deploy --save-dev -g azure-deploy init

<强>步骤2: 将deploy.sh替换为以下内容:

&#13;
&#13;
#!/bin/bash

# ----------------------
# KUDU Deployment Script
# Version: {Version}
# ----------------------

# Helpers
# -------

exitWithMessageOnError () {
  if [ ! $? -eq 0 ]; then
    echo "An error has occurred during web site deployment."
    echo $1
    exit 1
  fi
}

# Prerequisites
# -------------

# Verify node.js installed
hash node 2>/dev/null
exitWithMessageOnError "Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment."

# Setup
# -----

SCRIPT_DIR="${BASH_SOURCE[0]%\\*}"
SCRIPT_DIR="${SCRIPT_DIR%/*}"
ARTIFACTS=$SCRIPT_DIR/../artifacts
KUDU_SYNC_CMD=${KUDU_SYNC_CMD//\"}

if [[ ! -n "$DEPLOYMENT_SOURCE" ]]; then
  DEPLOYMENT_SOURCE=$SCRIPT_DIR
fi

if [[ ! -n "$NEXT_MANIFEST_PATH" ]]; then
  NEXT_MANIFEST_PATH=$ARTIFACTS/manifest

  if [[ ! -n "$PREVIOUS_MANIFEST_PATH" ]]; then
    PREVIOUS_MANIFEST_PATH=$NEXT_MANIFEST_PATH
  fi
fi

if [[ ! -n "$DEPLOYMENT_TARGET" ]]; then
  DEPLOYMENT_TARGET=$ARTIFACTS/wwwroot
else
  KUDU_SERVICE=true
fi

if [[ ! -n "$KUDU_SYNC_CMD" ]]; then
  # Install kudu sync
  echo Installing Kudu Sync
  npm install kudusync -g --silent
  exitWithMessageOnError "npm failed"

  if [[ ! -n "$KUDU_SERVICE" ]]; then
    # In case we are running locally this is the correct location of kuduSync
    KUDU_SYNC_CMD=kuduSync
  else
    # In case we are running on kudu service this is the correct location of kuduSync
    KUDU_SYNC_CMD=$APPDATA/npm/node_modules/kuduSync/bin/kuduSync
  fi
fi

##################################################################################################################################
# Deployment
# ----------

echo Handling react app deployment.

# 1. Install npm packages
if [ -e "$DEPLOYMENT_SOURCE/package.json" ]; then
  cd "$DEPLOYMENT_SOURCE"
  echo "Running npm install"
  eval /opt/nodejs/8.1.0/bin/npm install
  exitWithMessageOnError "npm failed"
  echo "Building ember app"
  eval /opt/nodejs/8.1.0/bin/npm run build
  exitWithMessageOnError "ember build failed"
 cd - > /dev/null
fi

# 2. KuduSync
if [[ "$IN_PLACE_DEPLOYMENT" -ne "1" ]]; then
  "$KUDU_SYNC_CMD" -v 50 -f "$DEPLOYMENT_SOURCE/dist" -t "$DEPLOYMENT_TARGET" -n "$NEXT_MANIFEST_PATH" -p "$PREVIOUS_MANIFEST_PATH" -i ".git;.hg;.deployment;deploy.sh"
  exitWithMessageOnError "Kudu Sync failed"
fi

##################################################################################################################################
echo "Finished successfully."
&#13;
&#13;
&#13;

<强>步骤3:

转到Azure门户网站 单击创建资源 搜索“容器的Web应用程序” 单击创建 输入应用名称 选择服务计划等 单击配置容器 确保选择图像源作为Docker Hub并输入图像名称为prashanthmadi / azure-appservice-nginx:1.13 enter image description here

单击“确定”并创建Web应用程序。

创建webapp时,转到应用程序设置和 将WEBSITES_ENABLE_APP_SERVICE_STORAGE从false更新为true。 DOCKER_CUSTOM_IMAGE_NAME为prashanthmadi / azure-appservice-nginx:1.13 始终打开至开启 保存更改 enter image description here

配置部署源。完成后,点击浏览