Как стать автором
Обновить

Как создать современную CI/CD-цепочку с помощью бесплатных облачных сервисов

Время на прочтение10 мин
Количество просмотров68K
Всего голосов 41: ↑38 и ↓3+35
Комментарии18

Комментарии 18

Я правильно понимаю, что при таком подходе образ на Docker Hub не будет значиться как Automated Build? Для открытых проектов это как бы важно. Мне кажется, можно научить трэвис инициировать автосборку на хабе.

Здравствуйте. Это разумеется возможно (например один из комментаторов ниже предложил пропустить DockerHub). Тогда Хероку будет сам собирать образ после Тревиса. Есть и другие утилиты — например Wercker и CodeFresh позволяют автоматизировать процессы сборки и заливки.
а в чем различие между Docker HUB и реестром самого Heroku?
Здравствуйте, я Роб фан дер Леек (автор оригинального поста на medium).
В оригинальном посте я использовал Докер Хаб так как в этом случае проще расшарить образы с другими разработчиками.
Конечно, вы всегда можете залить образ напрямую на Хероку и пропустить Докер Хаб.
еще такой вопрос, где лучше хранить разные connection strings, ключи к различным апи и прочую информацию? В самом тревисе и как-то прокидывать в docker image, или хранить как переменные окружения в самом хероку?
Хороший вопрос. Это конечно зависит в большинстве случаев от выбранной платформы — Heroku предоставляет возможность хранения переменных внутри (https://devcenter.heroku.com/articles/config-vars).
Разумеется есть много других различных способов, главное избегать хранить переменные в вашем исходном коде.
не планируете написать об этом статью? в интернете много статей о том как настроить CI/CD, но мало кто пишет про то, как хранить переменные
Для opensource проектов действительно все быстро собирается, нежели для приватных. Хотелось бы увидеть нечто подобное для связки GitLab + дедик.
Нашелся pet-project для экспериментов. Сделал по гайду для JavaScript-проекта.
https://github.com/roquie/source-concater
https://srcc.herokuapp.com/

Из проблем — Heroku не хочет работать внутри контейнера из под рута, пришлось немного пошаманить.
Для коммерческого проекта с закрытым кодом это схема стоит килотонны денег.

Есть же GitLab, который один делает все означенное.

А если вы уже используете докер, то вам и хероку не нужен, берите сервак на ДО и разворачивайте там сварм.
Спасибо! Это действительно так. Есть очень много вариантов как можно построить подобную конфигурацию. Своей статьёй я хотел продемонстрировать насколько легко и удобно это сделать в наше время с помощью современных (и бесплатных) облачных сервисов.
Очень классный перевод и сама статья!
Все четко, кратко без лишний воды, и самое главное показан весь цикл от А до Я.
Спасибо! Я автор оригинального поста на medium.
Если вам интересны подобные публикации, мы регулярно пишем статьи на эти темы (https://medium.com/bettercode)
А смысл докера после тиревиса? Не легче самими тревисом собирать и выливать?
Здравствуйте, я Роб фан дер Леек (автор оригинального поста на medium).
В посте я просто привожу пример цепочки. Конечно есть гораздо более различных способов собрать подобные цепочки.
В тексте я лишь хотел показать насколько просто это сделать в современных реалиях и с современными технологии.

А так — пожалуйста экспериментируйте и стройте то что подходит под ваши нужды!
Большое спасибо за статью. По прежнему актуальна в 2019, попробовал пройти попунктам. Из проблем, пока встретил только то, что heroku-container-registry плагин занесен в блэк лист. Возможно стоит немного обновить статью и дополнить новыми деталями, если есть какие-то варианты получше.
Нашел решение в оригинальной статье. Установить плагин теперь можно командой
heroku plugins:install @heroku-cli/plugin-container-registry
Зарегистрируйтесь на Хабре, чтобы оставить комментарий