Pull to refresh

Comments 4

Что-то всех на Gitlab CI потянуло

- docker ps --filter name=hellorunner --quiet | xargs --no-run-if-empty docker stop | xargs --no-run-if-empty docker rm
- docker run -d --restart=always --name hellorunner -p 8090:80 hellorunner


Вы ведь понимаете, что здесь проблем больше, чем пользы?

1. Вообще в современном мире вроде как сборка образа и его запуск идеологически разделены, вплоть до физически разных машин. Тут все в куче.
2. Про Docker-compose вы явно не слышали, как иначе объяснить такой дикий хардкод портов в `docker run` и вообще в CI-конфигурации (а не в конфигурации проекта)? Ну и перед публикацией статьи вы бы хоть теоретически попробовали это примерить на реальный проект (у вас же должен быть хоть один реальный проект, так?). БД банальная?
3. Где код-то? Вы собираете статический файл :) А обычно у вас будет билд-окружение, билд-зависимости, рантайм-зависимости, это все разделено, код из репозитория билдится в билд-окружении и результат в виде тех или иных артефактов добавляется в продакшн-образ. А где у вас это все?
1. Пет — проект не требует разделения)
2. Проект запущен, там немного по-другому. Тут пытался упростить для юзеров-не-в-теме, чтобы не было лишних стадий
3. Это уже отдельная статья по разделению CI конфигурации на стадии. Тут только боль и проблемы при подключении runner'а)

Сама статья не для DevOps, которые «все знают», а для тех кто не в теме)

п.с. Пет — проект: online игра, и бд там postgres, и docker-compose, но это уже не для паблика)когда-нибудь меня устроит результат и выкачу ее)
Проект запущен, там немного по-другому


Ну в моем пет-прожекте «деплой» это docker-compose build && docker-compose up -d. Чувствуете разницу с вашими страшными строчками? :)

Это, конечно, мое имхо, но ваше «упростить для юзеров-не-в-теме» превратилось в рекламу антипаттернов, как НЕ стоит делать. Даже если пет-прожект, второе, что делаете (после Dockerfile) — docker-compose.yml. Пусть там хоть всего один сервис, это ж не важно.

Это уже отдельная статья по разделению CI конфигурации на стадии. Тут только боль и проблемы при подключении runner'а)


Хз, где боль, не далее чем вчера по работе мигрировал раннер с одного сервера на другой — заняло не более 5 минут. Какая боль, где, это делается на раз, грабли если и появляются, то уж точно не во флоу для пет-прожекта, а там, где появляются контейнеры под Windows, где начинается попаболь с разными юзерами и permissions на линуксе, вот это вот все.
это не проблема, вставить compose)
главное с толку не сбить людей)
если кто еще считает, что переписать команду на compose, просьба оценить main-пост TheGodfather плюсом и я перепишу конечно)
Sign up to leave a comment.

Articles