Comments 12
echo password | sudo -S rm,
Решая подобную задачу, меня напрягло решение запускать Ранер с правами рута или давать ему их через sudo. Так-же возня с копированием проекта — работает пока проект мал.
Для себя выбрал использование: dind (Docker in Docker) — gitlab-ci поддерживает его.
Заметил в скрипте ci:
- script -q -c "docker e.....
для чего так сделано? именно: script -q -c?
У меня подключается через обычного пользователя, но повышение прав нужно для удаление некоторых файлов из проекта, которые появляются в процессе работы (не во всех проектах нужно sudo). Какие варианты есть если не копирование, чтобы сделать независимую папку с проектом?
Пробовал dind меня смутил как раз таки фактор запуска контейнера внутри контейнера, плюс запуск в привилегированном режиме.
script -q -c нужен для того, чтобы не было ошибки «the input device is not a TTY»
Пробовал dind меня смутил как раз таки фактор запуска контейнера внутри контейнера, плюс запуск в привилегированном режиме.
script -q -c нужен для того, чтобы не было ошибки «the input device is not a TTY»
1. Каждая ветка по отдельности, у нас теперь фичи выходят по мере готовности, а не в 1 день кучей. Потом бывает тяжело найти причину если что-то сломается и заказчикам не надо ждать дня релиза.
2. Для этого все и делалось. Внутри нашей локальной сети админы прописали доменную зону *.test ведущий на тестовый сервер. Все контейнеры маршрутизируются через Træfik, об этом подробно написано в статье. У нас домены именуются так site512.test где 512 это номер процесса сборки в гитлабе.
3. Контейнеры останавливает сам разработчик, если фича не вышла, либо будет еще несколько выкатываний на тестовый. Так как мы используем гитлаб, то при закрытии запроса на слияние, окружение останавливается автоматически гитлабом.
2. Для этого все и делалось. Внутри нашей локальной сети админы прописали доменную зону *.test ведущий на тестовый сервер. Все контейнеры маршрутизируются через Træfik, об этом подробно написано в статье. У нас домены именуются так site512.test где 512 это номер процесса сборки в гитлабе.
3. Контейнеры останавливает сам разработчик, если фича не вышла, либо будет еще несколько выкатываний на тестовый. Так как мы используем гитлаб, то при закрытии запроса на слияние, окружение останавливается автоматически гитлабом.
У нас поднят Portainer, разработчик может свободно зайти в консоль контейнера и сделать пул, либо донастроить контейнер. Для больших правок, контейнер останавливается и создается новый. Автоматом контейнеры не создаются, только запуск тестов

Дальше разработчик выбирает в каком окружении запускать и только в этот момент создается сайт. В гитлабе есть у проекта пункты меню Операции — Среды. Там отображается последняя развернутая версия ссылкой на нее. Этот адрес и отдается заказчику/тестировщику. Сейчас тестировщиков приучаем заходить туда самим.


Дальше разработчик выбирает в каком окружении запускать и только в этот момент создается сайт. В гитлабе есть у проекта пункты меню Операции — Среды. Там отображается последняя развернутая версия ссылкой на нее. Этот адрес и отдается заказчику/тестировщику. Сейчас тестировщиков приучаем заходить туда самим.

Уважаемый автор, а как разработчики заходят на сайты зоны *.test? Ведь, как я понимаю, создаётся новый хостнейм (site512.test, etc). Его нужно отресолвить в IP, с которым висит traefik. Как у вас это реализовано?
Sign up to leave a comment.
Тестовый сервер для команды разработчиков