Skip to content
Snippets Groups Projects
Commit 97b9380d authored by Olivier Maury's avatar Olivier Maury
Browse files

Ajouter le script de déploiement. refs agroclim/agrometinfo/www#1

parent 4bf4b24f
No related branches found
No related tags found
1 merge request!1Ajouter le script de déploiement
#!/bin/bash
set -e
function echo_bold_green {
echo -e "\033[32;1m"$1"\033[0m";
}
function echo_bold_red {
echo -e "\033[31;1m"$1"\033[0m";
}
function usage {
echo "$0 -h shows usage"
echo "$0 -p deploy on pre-production"
echo "$0 -P deploy on production"
}
while getopts ":pPh" option
do
case "${option}" in
h)
usage
exit 0
;;
p)
COLOR="\033[33;1;7m"
PROFILE=preprod
SERVER=siclima-preprod
;;
P)
COLOR="\033[31;1;7m"
PROFILE=prod
SERVER=siclima-prod
;;
*)
usage
exit 0
;;
esac
done
if [ $OPTIND -eq 1 ]; then
echo_bold_red "No argument were passed"
usage
exit 0
fi
DESTDIR=/opt/agrometinfo/
USER=agrometinfo
echo -e "Are you sure to deploy AgroMetInfo-SEASON-handler on $COLOR$SERVER\033[0m:$COLOR$DESTDIR\033[0m ($COLOR$PROFILE\033[0m)? (y/N)"
read -p "" -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Deployment is cancelled!";
exit 0;
fi
echo_bold_green "Check if $SERVER is available"
if ping -c1 -w3 $SERVER >/dev/null 2>&1
then
echo OK;
else
echo_bold_red "ping on $SERVER did not respond, check VPN or host name or IP";
exit 1;
fi
echo_bold_green "Packaging..."
mvn clean package
NB=$(find target/. -name "agrometinfo-season-handler-*.jar" -printf '.' | wc -m)
if [ $NB -ne 1 ]; then
echo_bold_red 'Strange, JAR package not found'
exit 1
fi
JAR=$(basename target/agrometinfo-season-handler-*.jar)
FIXED_JAR=agrometinfo-season-handler.jar
echo_bold_green "Send $JAR to $SERVER..."
scp target/$JAR $SERVER:$DESTDIR
echo_bold_green "Linking $JAR to $DESTDIR/$FIXED_JAR..."
ssh $SERVER "ln -snf $DESTDIR/$JAR $DESTDIR/$FIXED_JAR"
echo_bold_green "Restart service..."
ssh $SERVER "sudo systemctl restart agrometinfo-season-handler"
echo_bold_green "Deployment done."
......@@ -41,7 +41,7 @@
<log4j.version>2.20.0</log4j.version>
<lombok.version>1.18.28</lombok.version>
<picoli.version>4.7.4</picoli.version>
<season.version>1.2.3-SNAPSHOT</season.version>
<season.version>1.2.3</season.version>
<!-- Maven environment values -->
<build.date>${maven.build.timestamp}</build.date>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
......@@ -242,7 +242,7 @@
</execution>
</executions>
<configuration>
<finalName>${project.artifactId}-${project.version}</finalName>
<finalName>agrometinfo-season-handler-${project.version}</finalName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>${exec.mainClass}</mainClass>
......
[Unit]
Description=SEASON handling for AgroMetInfo
After=season.service
[Service]
Type=simple
WorkingDirectory=/opt/agrometinfo/
ExecStart=/usr/bin/java -jar agrometinfo-season-handler.jar --config AgroMetInfo_2.0/configurations-season/agrometinfo-season-handler.properties
Restart=on-abort
RestartSec=10
User=agrometinfo
Group=agrometinfo
[Install]
WantedBy=multi-user.target
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment