Current section
Files
Jump to
Current section
Files
strategies/erlang-release-store-copy
#!/usr/bin/env bash
REQUIRED_CONFIGS+=("APP")
REQUIRED_CONFIGS+=("RELEASE_STORE")
REQUIRED_CONFIGS+=("COMMAND")
OPTIONAL_CONFIGS+=("RELEASE_FILE")
OPTIONAL_CONFIGS+=("DESTINATION_FILE")
OPTIONAL_CONFIGS+=("COMMAND_INFO")
OPTIONAL_CONFIGS+=("VERSION")
run() {
authorize_release_store_host
if [ -z "$RELEASE_FILE" ]; then
if [ -n "$VERSION" ] && [ -n "$COMMAND_INFO" ] && [ -n "$APP" ]; then
RELEASE_FILE="${APP}_${VERSION}.${COMMAND_INFO}.tar.gz"
else
__help; error_message "No $COMMAND_INFO version given\n"; exit 2
fi
fi
[ -z "$DESTINATION_FILE" ] && DESTINATION_FILE="$RELEASE_FILE"
[ -d "$DESTINATION_FILE" ] && DESTINATION_FILE="${DESTINATION_FILE%%/}/$RELEASE_FILE"
__detect_release_store_type
if [[ "$COMMAND" = "download" ]]; then
if [ "$RELEASE_STORE_TYPE" = "s3" ]; then
download_file_from_s3_release_store "$RELEASE_FILE" "$DESTINATION_FILE"
elif [ "$RELEASE_STORE_TYPE" = "remote" ]; then
download_file_from_remote_release_store "$RELEASE_FILE" "$DESTINATION_FILE"
else
error_message "Cannot download releases in store for store type ${RELEASE_STORE_TYPE}"; exit 2
fi
elif [[ "$COMMAND" = "upload" ]]; then
if [ "$RELEASE_STORE_TYPE" = "s3" ]; then
upload_file_to_s3_release_store "$RELEASE_FILE" "$DESTINATION_FILE"
elif [ "$RELEASE_STORE_TYPE" = "remote" ]; then
upload_file_to_remote_release_store "$RELEASE_FILE" "$DESTINATION_FILE"
else
error_message "Cannot upload releases in store for store type ${RELEASE_STORE_TYPE}"; exit 2
fi
fi
}