Skip to content

Commit 07a2d70

Browse files
committed
a
1 parent 4783ccc commit 07a2d70

File tree

3 files changed

+134
-0
lines changed

3 files changed

+134
-0
lines changed

.deployment

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[config]
2+
command = bash deploy.sh

deploy.sh

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
#!/bin/bash
2+
3+
# ----------------------
4+
# KUDU Deployment Script
5+
# Version: 1.0.17
6+
# ----------------------
7+
8+
# Helpers
9+
# -------
10+
11+
exitWithMessageOnError () {
12+
if [ ! $? -eq 0 ]; then
13+
echo "An error has occurred during web site deployment."
14+
echo $1
15+
exit 1
16+
fi
17+
}
18+
19+
# Prerequisites
20+
# -------------
21+
22+
# Verify node.js installed
23+
hash node 2>/dev/null
24+
exitWithMessageOnError "Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment."
25+
26+
# Setup
27+
# -----
28+
29+
SCRIPT_DIR="${BASH_SOURCE[0]%\\*}"
30+
SCRIPT_DIR="${SCRIPT_DIR%/*}"
31+
ARTIFACTS=$SCRIPT_DIR/../artifacts
32+
KUDU_SYNC_CMD=${KUDU_SYNC_CMD//\"}
33+
34+
if [[ ! -n "$DEPLOYMENT_SOURCE" ]]; then
35+
DEPLOYMENT_SOURCE=$SCRIPT_DIR
36+
fi
37+
38+
if [[ ! -n "$NEXT_MANIFEST_PATH" ]]; then
39+
NEXT_MANIFEST_PATH=$ARTIFACTS/manifest
40+
41+
if [[ ! -n "$PREVIOUS_MANIFEST_PATH" ]]; then
42+
PREVIOUS_MANIFEST_PATH=$NEXT_MANIFEST_PATH
43+
fi
44+
fi
45+
46+
if [[ ! -n "$DEPLOYMENT_TARGET" ]]; then
47+
DEPLOYMENT_TARGET=$ARTIFACTS/wwwroot
48+
else
49+
KUDU_SERVICE=true
50+
fi
51+
52+
if [[ ! -n "$KUDU_SYNC_CMD" ]]; then
53+
# Install kudu sync
54+
echo Installing Kudu Sync
55+
npm install kudusync -g --silent
56+
exitWithMessageOnError "npm failed"
57+
58+
if [[ ! -n "$KUDU_SERVICE" ]]; then
59+
# In case we are running locally this is the correct location of kuduSync
60+
KUDU_SYNC_CMD=kuduSync
61+
else
62+
# In case we are running on kudu service this is the correct location of kuduSync
63+
KUDU_SYNC_CMD=$APPDATA/npm/node_modules/kuduSync/bin/kuduSync
64+
fi
65+
fi
66+
67+
# Node Helpers
68+
# ------------
69+
70+
selectPythonVersion () {
71+
if [[ -n "$KUDU_SELECT_PYTHON_VERSION_CMD" ]]; then
72+
SELECT_PYTHON_VERSION="$KUDU_SELECT_PYTHON_VERSION_CMD \"$DEPLOYMENT_SOURCE\" \"$DEPLOYMENT_TARGET\" \"$DEPLOYMENT_TEMP\""
73+
eval $SELECT_PYTHON_VERSION
74+
exitWithMessageOnError "select pyhon version failed"
75+
76+
if [[ -e "$DEPLOYMENT_TEMP/__PYTHON_RUNTIME.tmp" ]]; then
77+
PYTHON_RUNTIME=`cat "$DEPLOYMENT_TEMP/__PYTHON_RUNTIME.tmp"`
78+
exitWithMessageOnError "getting python runtime failed"
79+
fi
80+
81+
if [[ -e "$DEPLOYMENT_TEMP/__PYTHON_VER.tmp" ]]; then
82+
PYTHON_VER=`cat "$DEPLOYMENT_TEMP/__PYTHON_VER.tmp"`
83+
exitWithMessageOnError "getting python version failed"
84+
fi
85+
86+
if [[ -e "$DEPLOYMENT_TEMP/__PYTHON_ENV_MODULE.tmp" ]]; then
87+
PYTHON_ENV_MODULE=`cat "$DEPLOYMENT_TEMP/__PYTHON_ENV_MODULE.tmp"`
88+
exitWithMessageOnError "getting python env failed"
89+
fi
90+
91+
if [[ -e "$DEPLOYMENT_TEMP/__PYTHON_EXE.tmp" ]]; then
92+
PYTHON_EXE=`cat "$DEPLOYMENT_TEMP/__PYTHON_EXE.tmp"`
93+
exitWithMessageOnError "getting python exe failed"
94+
fi
95+
96+
if [[ ! -n "$PYTHON_EXE" ]]; then
97+
PYTHON_EXE=python
98+
fi
99+
100+
else
101+
PYTHON_RUNTIME=python-2.7
102+
PYTHON_VER=2.7
103+
PYTHON_ENV_MODULE=virtualenv
104+
fi
105+
}
106+
107+
##################################################################################################################################
108+
# Deployment
109+
# ----------
110+
111+
echo Handling django deployment.
112+
113+
# 1. KuduSync
114+
if [[ "$IN_PLACE_DEPLOYMENT" -ne "1" ]]; then
115+
"$KUDU_SYNC_CMD" -v 50 -f "$DEPLOYMENT_SOURCE" -t "$DEPLOYMENT_TARGET" -n "$NEXT_MANIFEST_PATH" -p "$PREVIOUS_MANIFEST_PATH" -i ".git;.hg;.deployment;deploy.sh"
116+
exitWithMessageOnError "Kudu Sync failed"
117+
fi
118+
119+
# 2. Select python version
120+
selectPythonVersion
121+
122+
:: 4. Install packages
123+
echo Pip install requirements.
124+
$DEPLOYMENT_TARGET/antenv/scripts/pip install -r requirements.txt
125+
126+
$DEPLOYMENT_TARGET/antenv/scripts/python manage.py migrate
127+
128+
#$DEPLOYMENT_TARGET/antenv/scripts/python manage.py runserver
129+
130+
##################################################################################################################################
131+
echo "Finished successfully."

web_project/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#'localhost',
3636
#'127.0.0.1'
3737
#'vscode-django-tutorial.azurewebsites.net' # Sample name only!
38+
patle-django.azurewebsites.net
3839
]
3940

4041
# Application definition

0 commit comments

Comments
 (0)