Pull to refresh

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»
script -q -c нужен для того, чтобы не было ошибки «the input device is not a TTY»

убрать параметр -it, для ci он не нужен
UFO landed and left these words here
1. Каждая ветка по отдельности, у нас теперь фичи выходят по мере готовности, а не в 1 день кучей. Потом бывает тяжело найти причину если что-то сломается и заказчикам не надо ждать дня релиза.
2. Для этого все и делалось. Внутри нашей локальной сети админы прописали доменную зону *.test ведущий на тестовый сервер. Все контейнеры маршрутизируются через Træfik, об этом подробно написано в статье. У нас домены именуются так site512.test где 512 это номер процесса сборки в гитлабе.
3. Контейнеры останавливает сам разработчик, если фича не вышла, либо будет еще несколько выкатываний на тестовый. Так как мы используем гитлаб, то при закрытии запроса на слияние, окружение останавливается автоматически гитлабом.
UFO landed and left these words here
У нас поднят Portainer, разработчик может свободно зайти в консоль контейнера и сделать пул, либо донастроить контейнер. Для больших правок, контейнер останавливается и создается новый. Автоматом контейнеры не создаются, только запуск тестов
image
Дальше разработчик выбирает в каком окружении запускать и только в этот момент создается сайт. В гитлабе есть у проекта пункты меню Операции — Среды. Там отображается последняя развернутая версия ссылкой на нее. Этот адрес и отдается заказчику/тестировщику. Сейчас тестировщиков приучаем заходить туда самим.
image
UFO landed and left these words here
Да сколько угодно, пока ресурсов сервера хватает. У нас крутится 5-15 контейнеров с сайтами. Проблем нет.
Единственное я примерно раз в 2 недели захожу в Portainer и смотрю нет ли старых сборок, если разраб забыл сам остановить. Контролируется опять же это по номерам pipeline.
UFO landed and left these words here

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

У на в локальной сети развернут свой DNS сервер, в котором и прописано правило на домены *.test
Либо можно на каждую машину поставить dnsmasq, вот один из примеров
Sign up to leave a comment.

Articles