Обзор того, что вы изучаете 🧠 👏🏻
С этим полным Учебное пособие по действию GitHub 🎬 Вы получите хороший обзор:
- что на самом деле является действиями GitHub,
- понять конкретного разработчика варианты использования рабочих процессов что вы можете автоматизировать с помощью действий GitHub
- Как работает действия GitHub — основные концепции, включая GitHub События, действия и рабочий процесс
- Наиболее распространенный рабочий процесс, который CI/CD Pipeline
- Поймите, почему это не просто еще один инструмент CI/CD или что такое Преимущества действий GitHub CI CD Pipeline
- Практическая демонстрация , где я объясняю Синтаксис действий GitHub файл рабочего процесса А потом я покажу вам полную настройку конвейера CI с моим примером Java Gradle Project, который мы будем Встроить в изображение Docker 🐳 и push к частному репозиторию Docker на Dockerhub.
Что такое действия GitHub? 🤔
Действия GitHub — это платформа для Автоматизируйте рабочие процессы разработчиков . Многие учебники, кажется, передают, что действия GitHub — это инструмент CI/CD, но CI/CD — только один из многих рабочих процессов .
Что такое CI/CD?
C непрерывный Я NTEGRATION: интегрируйте код разработчика в общий репозиторий. Каждая регистрация затем проверяется автоматической сборкой. C Онтируется D Elivery выбирает, где непрерывная интеграция заканчивается, и автоматизирует доставку приложений в инфраструктурную среду.
Итак, что это за рабочие процессы разработчиков? 👀
Примеры использования рабочих процессов разработчика 👩🏻💻
Некоторые конкретные организационные задачи, которые действия GitHub могут автоматизировать, например, Для сопровождающего проекта с открытым исходным кодом:
Все эти задачи являются примерами рабочих процессов того, что вы должны делать в качестве сопровождающего репозитория GitHub. Чем больше проект, чем больше, чем вы получаете, и чем больше функций, проблем и запросов на тягу создается, тем больше организационных усилий у вас 😦.
И, конечно же, как разработчик, вы бы предпочли кодировать и вместо этого автоматизировать как можно больше из этих управленческих задач!
Для этой цели были созданы действия GitHub 💡.
Очевидно, что не у всех есть проект с открытым исходным кодом на GitHub, поэтому для вашего частного проекта Наиболее распространенный рабочий процесс будет CI/CD Pipeline Анкет
Как работает действия GitHub — события, действия и рабочие процессы
Каждый раз, когда что -то происходит в или в ваш репозиторий ( События ) вы можете настроить автоматические действия, которые будут выполняться в ответ ( Actions ).
Действия GitHub — это индивидуальные задачи, в совокупности они приводят к индивидуальному рабочий процесс 🔁.
Итак, как это переводится на фактический файл конфигурации.
Файл конфигурации рабочего процесса
Создание файла рабочего процесса:
Ваш файл конфигурации — это «рабочий процесс» Триггеры («on» — события) и шаги Анкет Вы можете иметь столько шагов, сколько хотите.
Эти шаги могут быть комбинацией:
- Команды Shell — «Run» (например, npm Run Build, ./gradlew Build, … )
- Внешние действия — «используют»
Действия
Внешнее действие — это всего лишь репо с файлом actions.yml, опубликованное сообществом, которое для вас повторно используется.
Итак, это многоразовый поток, который вы можете использовать как библиотека. Вы можете найти действия, доступные в Действия «рынок» Анкет
Рабочие места
Работа — это «Что» на самом деле выполняет Анкет Вы можете назвать работу что угодно, но в большинстве случаев вам нужна только одна работа.
Синтаксисом файла конфигурации рабочего процесса является YAML. Полный учебник YAML здесь
Совет 💡: У GitHub большой список шаблонов рабочих процессов, поэтому вам не нужно писать свой файл рабочего процесса с нуля. Используйте один из шаблонов, которые соответствуют технологии, которую использует ваш проект.
Это всего лишь ключевые части, вы можете посмотреть полный учебник для более подробных объяснений.
Теперь давайте посмотрим на конкретный пример рабочего процесса.
CI/CD с действиями GitHub
Простой трубопровод CI/CD может выглядеть следующим образом: вы совершаете свой код, начинается сборка, вы тест Ваш код, вы сборка Ваш код в артефакт, push Артефакт в некотором хранилище, а затем развернуть приложение на сервер развертывания.
Просто еще один инструмент CI/CD? 🙄
Почему важно иметь только еще один инструмент CI/CD? Потому что есть уже хорошо известные, такие как Дженкинс.
Преимущества:
- 👍 Он интегрирован в ваш репозиторий кода. Если вы уже размещаете свой код на GitHub, теперь вы можете использовать тот же инструмент вместо того, чтобы настройка интеграции с другим сторонним инструментом CI/CD CD
- 👍 Настройка трубопровода — легкий
- 👍 Это инструмент, предназначенный для разработчиков
Интеграция с другими технологиями 🚀
Итак, Почему настройка легче? 🧐 Чтобы понять, что вы должны знать, что одной из самых важных вещей при настройке конвейера CI/CD является его интеграция с различными инструментами и технологиями.
Просто посмотрите на это 2 Простые трубопроводы :
Вы не хотите настроить каждую интеграцию с этими инструментами, такими как установка Java, Maven и Docker, интеграции с Nexus, AWS, установка плагинов и так далее.
Вместо этого вам нужен более простой способ сказать: «Я хочу, чтобы среда с узлом и докером уже была доступна, с версией, которую я хочу. « И точно так же часть развертывания должна быть простой, просто подключившись к целевой среде и развернув приложение там.
Это именно то преимущество при использовании действий GitHub! 🤩
Демонстрация 👩🏻 💻
В видео ниже в демонстрационной части я показываю и объясняю, как это работает шаг за шагом.
Используя пример Java Gradle Project, который мы встроим в изображение Docker (потому что мы живем в мире контейнеризации 🐳) и подталкиваем к частному репозиторию Docker (Dockerhub).
Посмотрите полное видео здесь 🤓
► Получить 30% скидка — С этим кодом: udemy_nana_nov2020: Курс Udemy здесь ► Kubernetes 101 : Компактный и простой для чтения комплект электронных книг 🚀 Это удобный способ быстро искать что -то или обновить свои знания на работе и использовать его в качестве чит -листа 😎
Мол, поделиться и следуй за мной 😍 Для большего содержания:
Оригинал: «https://dev.to/techworld_with_nana/github-actions-tutorial-ci-pipeline-with-docker-1jp»