Fix work/ tests

This commit is contained in:
cytopia
2022-03-23 13:36:21 +01:00
parent d1061273b0
commit cdfca15613

View File

@@ -25,35 +25,74 @@ FLAVOUR="${4}"
### ###
MYSQL_ROOT_PASSWORD="toor" MYSQL_ROOT_PASSWORD="toor"
MOUNTPOINT="$( mktemp --directory )" MOUNTPOINT="$( mktemp --directory )"
CONTAINER="mysql:5.6" CONTAINER="mariadb:10.6"
# Pull Container # Pull Container
print_h2 "Pulling MySQL"
run "until docker pull --platform ${ARCH} ${CONTAINER}; do sleep 1; done" run "until docker pull --platform ${ARCH} ${CONTAINER}; do sleep 1; done"
# Start mysql container # Start mysql container
mdid="$( docker_run "${CONTAINER}" "${ARCH}" "-e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" )" print_h2 "Starting MySQL"
mname="$( docker_name "${mdid}" )" if ! name_mysql="$( docker_run "${CONTAINER}" "${ARCH}" "-e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" )"; then
run "sleep 10" exit 1
fi
run "sleep 60"
# Start PHP-FPM container # Start PHP-FPM container
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -e FORWARD_PORTS_TO_LOCALHOST=3306:${mname}:3306 -e MYSQL_BACKUP_USER=root -e MYSQL_BACKUP_PASS=${MYSQL_ROOT_PASSWORD} -e MYSQL_BACKUP_HOST=127.0.0.1 -v ${MOUNTPOINT}:/shared/backups --link ${mname}" )" print_h2 "Start PHP-FPM"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -e FORWARD_PORTS_TO_LOCALHOST=3306:${name_mysql}:3306 -e MYSQL_BACKUP_USER=root -e MYSQL_BACKUP_PASS=${MYSQL_ROOT_PASSWORD} -e MYSQL_BACKUP_HOST=127.0.0.1 -v ${MOUNTPOINT}:/shared/backups --link ${name_mysql}" )"; then
docker_stop "${name_mysql}" || true
exit 1
fi
run "sleep 15"
docker_exec "${did}" mysqldump-secure
if [ ! -d "${MOUNTPOINT}/mysql" ]; then print_h2 "Run mysqldump-secure"
echo "MySQL backup dir does not exist: ${MOUNTPOINT}/mysql" if ! docker_exec "${name}" mysqldump-secure; then
ls -lap "${MOUNTPOINT}/" docker_logs "${name_mysql}" || true
docker_logs "${did}" || true docker_logs "${name}" || true
docker_logs "${mdid}" || true docker_stop "${name_mysql}" || true
docker_stop "${did}" || true docker_stop "${name}" || true
docker_stop "${mdid}" || true
rm -rf "${MOUNTPOINT}" rm -rf "${MOUNTPOINT}"
exit 1 exit 1
fi fi
run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz'" print_h2 "Test backup directory"
run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz\.info'" if ! run "test -d ${MOUNTPOINT}/mysql"; then
echo "MySQL backup dir does not exist: ${MOUNTPOINT}/mysql"
ls -lap "${MOUNTPOINT}/"
docker_logs "${name_mysql}" || true
docker_logs "${name}" || true
docker_stop "${name_mysql}" || true
docker_stop "${name}" || true
rm -rf "${MOUNTPOINT}"
exit 1
fi
docker_stop "${did}" print_h2 "Grep backup files"
docker_stop "${mdid}" if ! run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz'"; then
ls -lap "${MOUNTPOINT}/"
docker_logs "${name_mysql}" || true
docker_logs "${name}" || true
docker_stop "${name_mysql}" || true
docker_stop "${name}" || true
rm -rf "${MOUNTPOINT}"
exit 1
fi
print_h2 "Grep info files"
if ! run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz\.info'"; then
ls -lap "${MOUNTPOINT}/"
docker_logs "${name_mysql}" || true
docker_logs "${name}" || true
docker_stop "${name_mysql}" || true
docker_stop "${name}" || true
rm -rf "${MOUNTPOINT}"
exit 1
fi
print_h2 "Cleanup"
docker_stop "${name_mysql}"
docker_stop "${name}"
rm -rf "${MOUNTPOINT}" rm -rf "${MOUNTPOINT}"