55SSH_DIR=" /root/.ssh"
66SSH_KEY=" ${SSH_DIR} /docker"
77KNOWN_HOSTS=" ${SSH_DIR} /known_hosts"
8+ ENV_FILE_PATH=" /root/.env"
89
910login () {
1011 echo " ${PASSWORD} " | docker login " ${REGISTRY} " -u " ${USERNAME} " --password-stdin
@@ -27,6 +28,26 @@ configure_ssh_key() {
2728 ssh-add " ${SSH_KEY} "
2829}
2930
31+ configure_env_file () {
32+ echo " Environment Variables: Additional values"
33+ printf ' %s' " $ENV_FILE " > " ${ENV_FILE_PATH} "
34+ env_file_len=$( grep -v ' ^#' ${ENV_FILE_PATH} | grep -v ' ^$' -c)
35+ if [[ $env_file_len -gt 0 ]]; then
36+ if [ " ${DEBUG} " != " 0" ]; then
37+ echo " Environment vars before: $( env| wc -l) "
38+ fi
39+ # shellcheck disable=SC2046
40+ export $( grep -v ' ^#' ${ENV_FILE_PATH} | grep -v ' ^$' | xargs -d ' \n' )
41+ if [ " ${DEBUG} " != " 0" ]; then
42+ echo " Environment vars after: $( env| wc -l) "
43+ fi
44+ fi
45+
46+ chmod 600 " ${ENV_FILE_PATH} "
47+ eval " $( ssh-agent) "
48+ ssh-add " ${SSH_KEY} "
49+ }
50+
3051configure_ssh_host () {
3152 ssh-keyscan -p " ${REMOTE_PORT} " " ${REMOTE_HOST} " > " ${KNOWN_HOSTS} "
3253 chmod 600 " ${KNOWN_HOSTS} "
@@ -54,6 +75,14 @@ check_deploy() {
5475
5576[ -z ${DEBUG+x} ] && export DEBUG=" 0"
5677
78+ # ADDITIONAL ENV VARIABLES
79+ if [[ -z " ${ENV_FILE} " ]]; then
80+ export ENV_FILE=" "
81+ else
82+ configure_env_file;
83+ fi
84+
85+ # SET DEBUG
5786if [ " ${DEBUG} " != " 0" ]; then
5887 OUT=/dev/stdout;
5988 SSH_VERBOSE=" -vvv"
@@ -112,6 +141,8 @@ if [[ -z "${STACK_NAME}" ]]; then
112141 exit 1
113142fi
114143
144+
145+ # CONFIGURE SSH CLIENT
115146if configure_ssh > $OUT 2>&1 ; then
116147 echo " SSH client: Configured"
117148else
0 commit comments