Добро пожаловать во вторую статью! Это заняло некоторое время, но я надеюсь, что вам понравится.
Вы можете подумать: «Контейнеры Docker? Что это? » Мои извинения, но я не объясню, какие контейнеры в этой статье. Тем не менее, я думал о том, чтобы написать серию для начинающих о контейнерах и неверных вычислениях. Так что, если вы будете заинтересованы в такой вещи, пожалуйста, дайте мне знать!
Сегодня я расскажу вам о том, как автоматически построить и нажать контейнеры, определенные в вашем репозитории GitHub в вашем Docker Hub Учетная запись с использованием Действия GitHub Анкет
Используя этот метод, вы можете синхронизировать изображения в центре Docker с вашим репозиторием. Каждый раз, когда вы нажимаете к репозиторию, контейнер будет построен и подталкивается к концентратору Docker.
Чтобы сделать это немного легче следовать, мы будем притворяться, что читаем рецепт. Сначала я перечислю все ингредиенты (требования), а затем объясню процесс, используя более подробные шаги.
(Также известен как Требования .)
Тебе понадобится:
- Учетная запись GitHub, которая имеет доступ к действиям GitHub (вы можете запросить доступ Здесь )
- Репозиторий, который имеет доступ к действиям GitHub
- Действительный
Dockerfile
в вашем репозитории - Учетная запись Docker Hub
Есть все ингредиенты? Потрясающий! Давайте используем действия GitHub для автоматизации строительства и подталкивания вашего контейнера в Hub Docker.
Во -первых, перейдите к своему хранилищу и нажмите на Действия
наверху. Вы окажетесь в интерфейсе, аналогичном этому. Создайте новый файл рабочего процесса.
Мы создадим рабочий процесс, который работает, когда кто -то что -то встанет в репозиторий.
Перетащите синий разъем и добавьте действие «Реестр Docker».
Это действие войдет в вас в центр докера, используя Docker_username
и Docker_password
секреты. Добавьте свое имя пользователя и пароль в секрете. Будь осторожен! Не добавляйте их в качестве переменной среды, иначе они будут видны!
Затем добавьте еще одно действие под действием «Реестра Docker». На этот раз мы будем использовать действие «Действия GitHub для Docker». Используя это действие, вы можете запустить команды Docker, как в своем терминале. Команда, которую вы хотите запустить, должна перейти в args
поле. Действие автоматически поместит Docker
Перед вашей командой, поэтому убедитесь, что вы этого не делаете.
Давайте притворимся, что мы построим и протолкнут наш контейнер в терминал на секунду.
Прежде чем мы сможем вытащить контейнер, нам нужно сначала построить его. Для этого мы будем использовать команду Docker Build -t [username]/[имя контейнера] [Путь к Dockerfile]
Для моего Пример репозитория Это будет: Docker Run Build -t Svenzo/Action-Docker-hub-demo src
Анкет Если ваш DockerFile находится в корне репозитория, вы можете поместить Анкет
(DOT) вместо пути папки.
Вторая команда, которую мы запустили бы, — это команда push: Docker push [username]/[имя контейнера]
Анкет Еще раз, для моего Пример репозитория Это будет следующим образом: Docker push svenzo/action-docker-hub-demo
Анкет
Чтобы эти команды работали в args
Поле нам нужно удалить первое Docker
перед командой и объедините обе команды, используя &&
Анкет В итоге вы получите что -то подобное: build -t [username]/[имя контейнера] [Путь к Dockerfile] && docker push [username]/[имя контейнера]
Анкет Для моего Пример репозитория Это будет: BUILD -T SVENZO/ACTION-DOCKER-HUB-DEMO SRC && Docker push svenzo/action-docker-hub-demo
Анкет
Наконец, совершите файл рабочего процесса, используя меню в правом верхнем углу.
Если вы подождете несколько секунд и перейдите к Действия
Вкладка, вы увидите свои действия. Если все пойдет хорошо, контейнер в вашем репозитории будет перенесен к вашей учетной записи Docker Hub. Если что -то пошло не так, вы сможете заглянуть в журналы, чтобы проверить, что пошло не так.
Вы можете перейти к своей учетной записи Docker Hub и просмотреть действия Github Container Github, навязанные вам.
Эй, тебе понравилось читать эту статью? Надеюсь, вы нашли этот учебник полезным. Пожалуйста, дайте мне знать, что вы думаете в комментариях. Кроме того, я думал о написании предметов, дружественных для начинающих, на тему «Контейнеры и без серверов». Вам было бы интересно? Пожалуйста, дайте мне знать тоже!
В любом случае, Вот песня, которая вам может понравиться Анкет
Увидимся скоро и позаботьтесь ✌ ~ Свен
Баннер изображение фон от Кайл Райан на Unsplash Значок GitHub, сделанный Icomoon от Flaticon Значок Docker, сделанный Icons8
Спасибо за чтение! Оставьте как ❤ или комментарий 🖊 Если хотите. И самое важное; Не сдавайтесь, если действия GitHub не работают так, как вы хотели бы!
Оригинал: «https://dev.to/sven/automate-building-pushing-docker-containers-using-github-actions-202j»