Трубопровод CI/CD для фазы разработки.
Я хотел настроить конвейер CI/CD, где мое приложение, наконец, будет развернуто на моей локальной машине, а также использует сладкие вещи, которые GitHub предоставил GitHub-Actions, Местная машина будучи ключом здесь.
Может быть много ситуаций, когда вы хотите, чтобы развертывание было локальным, особенно на этапе разработки, чтобы:
- предотвратить сетевой трафик
- не передача конфиденциальных данных
- приспосабливать частые изменения в кодовой базе
Примечание. Эта статья требует, чтобы у вас было, по крайней мере, некоторые предварительные знания о Docker и Github-Actions, и Docker установлен на вашей локальной машине.
1. Задачи на ваше заявление
«Docker — это открытая платформа для разработки, доставки и запуска приложений» Docker похож на виртуальную машину, но только с частями, необходимыми для запуска ваших приложений. Docker предоставляет комплексное руководство по разработке с Docker в их документации, которую можно найти Здесь Анкет
Чтобы «докеризировать» приложение, вы пишете Dockerfile. Вот пример Dockerfile.
2. Настройка действий GitHub для тестирования и CI
Как только у вас есть Dockerfile, вы можете построить изображение Docker. Изображение Docker — это файл, состоящий из нескольких слоев, который используется для выполнения кода в контейнере Docker. Изображение Docker в основном A упакованное приложение Это может быть выполнено как контейнеры Docker Анкет Контейнер Docker — это просто работающее изображение Docker.
Действия GitHub предоставляет среду для выполнения «действий», которая может выполнять различные задачи. Эти действия написаны как YAML файлы , который затем выполняет на основе триггеров GitHub, таких как Толкание в филиал , Инициирование заправочного запроса и т.п. Проверьте функции действий GitHub Здесь Анкет
Dockerhub — это онлайн -реестр, где вы можете сохранить изображения Docker. Вам требуется учетная запись Dockerhub для изображений Docker в реестре. Если вы предпочитаете, вы также можете сделать свой собственный реестр. Подробнее об этом Здесь Анкет
Ниже приведен пример Actions.yml Файл для создания изображения и нажмите изображение в DockerHub.
3. Сторожевая башня
Центральная часть всего этого трубопровода — Сторожевая башня Анкет
«С помощью сторожевой башни вы можете обновить работающую версию вашего приложения в контейнер, просто нажав новое изображение в концентратор Docker или свой собственный реестр изображений. «Проверьте их репо для получения дополнительной информации.
ContactRrr/Сторожевая башня
Процесс автоматизации обновлений базовых изображений контейнеров Docker.
По сути, с помощью сторожевой башни, когда изображение обновляется в реестре (например, Dockerhub), контейнер обновляется с последними изменениями.
Делая это, вы успешно сделали свой конвейер CI/CD, который обновляется всякий раз, когда изменения вносятся в репо GitHub. Локальный контейнер занимает некоторое время для обновления, как только обновленное изображение будет выдвинуто в реестр, но установление всего этого рабочего процесса прост и прекрасно работает, по крайней мере, для среды разработки.
Оригинал: «https://dev.to/tsuki42/ci-cd-pipeline-with-docker-github-actions-dockerhub-and-watchtower-3l3n»