Тестовое окружение отделено от основного, упрощены билды для контейнеров MariaDB и RabbitMQ, написаны скрипты для быстрого прогона тестов

This commit is contained in:
ErickSkrauch
2016-07-15 01:03:13 +03:00
parent 06f83bd52f
commit 23d44c1d0d
19 changed files with 166 additions and 299 deletions

View File

@@ -1,13 +1,3 @@
FROM mariadb:10.0
COPY mariadb.cnf /etc/mysql/conf.d
# Add script to create default users / vhosts
ADD init.sh /init.sh
ADD run.sh /run.sh
# Run rabbitmq, execute init configuration and then shutdown
RUN chmod +x /init.sh /run.sh \
&& /init.sh
ENTRYPOINT "/run.sh"

View File

@@ -1,34 +0,0 @@
#!/bin/bash
# Копипаста. Я не знаю, что тут происходит
set -e
set -x
mysql_install_db
# Start the MySQL daemon in the background.
/usr/sbin/mysqld &
mysql_pid=$!
until mysqladmin ping &>/dev/null; do
echo -n "."; sleep 0.2
done
# Конец рандомной копипасты
# Устаналиваем беспарольный доступ для рута
mysql -e "GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '' WITH GRANT OPTION"
# Создаём базу данных для приложения и для тестов
mysql -e "CREATE DATABASE IF NOT EXISTS ely_accounts CHARACTER SET utf8 COLLATE utf8_general_ci"
mysql -e "CREATE DATABASE IF NOT EXISTS ely_accounts_test CHARACTER SET utf8 COLLATE utf8_general_ci"
# Tell the MySQL daemon to shutdown.
mysqladmin shutdown
# Wait for the MySQL daemon to exit.
wait $mysql_pid
# Сохраняем состояние базы данных
tar czvf default_mysql.tar.gz /var/lib/mysql

View File

@@ -1,9 +0,0 @@
#!/bin/bash
set -e
set -x
# first, if the /var/lib/mysql directory is empty, unpack it from our predefined db
[ "$(ls -A /var/lib/mysql)" ] && echo "Running with existing database in /var/lib/mysql" || ( echo 'Populate initial db'; tar xpzvf default_mysql.tar.gz )
/usr/sbin/mysqld