Микрозаметка о том, как запустить Docker с Systemd внутри Gitlab CI Runner'a. Возможно кому-то будет полезна, возможно кто-то решал уже подобную задачу другими способами и будет интересно если поделитесь в комментариях.
run-autotests:
image: debian/systemd
before_script:
- cp backend.jar /opt/
- cd /opt
script:
- java -jar autotests.jar
docker run --cmd /bin/bash ...
cd <path-with-code>
pip install virtualenv
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
python main.py --image dramaturg/docker-debian-systemd # используемый образ
[--network host] # тип сети если требуется
[--volumes] "/sys/fs/cgroup:/sys/fs/cgroup:ro" "<другие>" # данный volume обязателен для systemd, можно дописать свои через пробел
[--cmd] "/lib/systemd/systemd" # команда, которую нужно выполнить во время запуска, если нужно переопределить из контейнера
[--data-archive] /opt/data.tar # полный путь до архива *.tar или *.tar.gz
[--data-unarchive-path] /opt/data/logs # путь куда будет разархивированы файлы, будет создан если не существует
[--privileged] # для запуска systemd обязателен, вопрос с более низкими привилегиями не рассматривался
--exec-commands "touch /opt/example.log" "{bash} ls -la /opt" "mkdir -p /opt/tmp" # список команд в кавычках разделенных пробелом
К сожалению, не доступен сервер mySQL