-
Notifications
You must be signed in to change notification settings - Fork 146
/
deploy.sh
executable file
·102 lines (74 loc) · 2.38 KB
/
deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/env bash
# exit on errors
set -o errexit -o errtrace -o nounset -o functrace -o pipefail
shopt -s inherit_errexit 2>/dev/null || true
trap 'sk-catch --exit_code $? --line $LINENO --linecallfunc "$BASH_COMMAND" --funcstack $(printf "::%s" ${FUNCNAME[@]}) -o stdout ' ERR
# import shellkit functions
source shellkit_bootstrap.sh
# defaults
current_dir=`pwd`
checkout_name=$(basename `pwd`)
NAME="$(basename "${0}")"
build_envs="prod sandbox qa int"
tag="v2.0.1"
current_dir=`pwd`
#
# functions
#
usage(){
I_USAGE="
Usage: ${NAME} [OPTIONS]
Description:
Build orcid-source war files for each project and then deploy to and artifact repo
NOTE: credentials for the artifact repo are sourced from aws secrets but you still need your aws api access to be configured
secretid is stored in shellkit.conf
General usage:
${NAME} -t vx.x.x
Required options:
-t | --tag ) tag ($tag)
"
echo "$I_USAGE"
exit
}
#
# args
#
while :
do
case ${1-default} in
--*help|-h ) usage ; exit 0 ;;
-t | --tag ) tag=$2; shift 2 ;;
-b | --build_envs ) build_envs=$2; shift 2 ;;
-v | --verbose ) verbose_arg='-v' VERBOSE=$((VERBOSE+1)); shift ;;
--) shift ; break ;;
-*) echo "WARN: Unknown option (ignored): $1" >&2 ; shift ;;
*) break ;;
esac
done
sk-arg-check tag
tag_numeric=$(echo "$tag" | tr -dc '[:digit:].')
echo_log "building for: $tag_numeric"
#
# setup build environment from .tool-versions
#
echo_log "configure build environment for orcid-angular $tag_numeric"
sk-asdf-install-tool-versions
# set JAVA_HOME
. ~/.asdf/plugins/java/set-java-home.bash
_asdf_java_update_java_home
sk-dir-make ~/log
echo $AWS_SECRET_ID
# source the secrets for the artifact uploads
sk-aws-secret-source $AWS_SECRET_ID
echo ${ARTIFACT_URL}${ARTIFACT_REPO_PATH}
export ARTIFACT_USER=$ARTIFACT_USER
export ARTIFACT_PASSWORD=$ARTIFACT_PASSWORD
for project in orcid-message-listener orcid-activemq orcid-api-web orcid-internal-api orcid-pub-web orcid-scheduler-web orcid-web;do
build_log_file=~/log/orcid-source-${project}-${tag_numeric}.log
mvn --batch-mode \
--settings settings-custom-deploy.xml \
--file "${project}/pom.xml" \
-Dmaven.test.skip \
-DaltReleaseDeploymentRepository=github::${ARTIFACT_URL}${ARTIFACT_REPO_PATH} \
deploy -Dmaven.test.skip -l $build_log_file
done