restructured and added script to create aws containers

This commit is contained in:
Vinay Aggarwal
2020-03-26 07:13:32 -07:00
parent 75833a3d44
commit 67fd380371
49 changed files with 309 additions and 4690 deletions

View File

@@ -0,0 +1,72 @@
#!/bin/bash
#
# An entrypoint script for Artifactory to allow custom setup before server starts
#
: ${ARTIFACTORY_NAME:=artifactory}
JF_ARTIFACTORY_PID=${JF_PRODUCT_HOME}/app/run/${ARTIFACTORY_NAME}.pid
. ${JF_PRODUCT_HOME}/app/bin/installerCommon.sh
ARTIFACTORY_BIN_FOLDER=${JF_PRODUCT_HOME}/app/bin
sourceScript(){
local file=$1
[ ! -z "${file}" ] || errorExit "target file is not passed to source a file"
[ -f "${file}" ] || errorExit "${file} file is not found"
source "${file}" || errorExit "Unable to source ${file}, please check if the $USER user has permissions to perform this action"
}
initHelpers(){
local systemYamlHelper="${ARTIFACTORY_BIN_FOLDER}"/systemYamlHelper.sh
local installerCommon="${ARTIFACTORY_BIN_FOLDER}"/installerCommon.sh
local artCommon="${ARTIFACTORY_BIN_FOLDER}"/artifactoryCommon.sh
export YQ_PATH="${ARTIFACTORY_BIN_FOLDER}/../third-party/yq"
sourceScript "${systemYamlHelper}"
sourceScript "${installerCommon}"
sourceScript "${artCommon}"
export JF_SYSTEM_YAML="${JF_PRODUCT_HOME}/var/etc/system.yaml"
}
# Print on container startup information about Dockerfile location
printDockerFileLocation() {
logger "Dockerfile for this image can found inside the container."
logger "To view the Dockerfile: 'cat /docker/artifactory-pro/Dockerfile.artifactory'."
}
terminate () {
echo -e "\nTerminating Artifactory"
${JF_PRODUCT_HOME}/app/bin/artifactory.sh stop
}
# Catch Ctrl+C and other termination signals to try graceful shutdown
trap terminate SIGINT SIGTERM SIGHUP
logger "Preparing to run Artifactory in Docker"
logger "Running as $(id)"
printDockerFileLocation
initHelpers
# Wait for DB
# On slow systems, when working with docker-compose, the DB container might be up,
# but not ready to accept connections when Artifactory is already trying to access it.
waitForDB
[ $? -eq 0 ] || errorExit "Database failed to start in the given time"
# Run Artifactory as JF_ARTIFACTORY_USER user
exec ${JF_PRODUCT_HOME}/app/bin/artifactory.sh &
art_pid=$!
if [ -n "$JF_ARTIFACTORY_PID" ];
then
mkdir -p $(dirname "$JF_ARTIFACTORY_PID") || \
errorExit "Could not create dir for $JF_ARTIFACTORY_PID";
fi
echo "${art_pid}" > ${JF_ARTIFACTORY_PID}
wait ${art_pid}