- Введение
- Цель
- Berkshelf.
- Шаги для создания действий GitHub
- Рабочий процесс действий Github объяснил
- Список используемой литературы
Введение
Я предполагаю, что целевая аудитория для этой статьи, как ожидается, имеет базовое понимание GitHub в качестве инструмента управления источником. Также эта статья предназначалась для Chef Cookbook Devops Developers, стремясь получить представление о реализации непрерывного потока интеграции для кулинарных книг шеф-поваров с использованием действий GitHub.
Цель
- Кулинарные книги CODE REPO имеет кулинарные книги обертки шеф-поваров для Apache и Windows
- Развертывание шеф-повара можно сделать двумя способами, используя 1. Berkshelf, 2. Политика
- Berkfhelf немного более старый стиль развертывания, где, как, развертывание политики новая способ выполнения развертывания шеф-повара
- Я подобрал Berkfhelf Way для этого репо
Berkshelf.
- Используется BerksFile для создания контента REPO, Cookbooks Reppo содержит кулинарные книги и все это Inter-зависимые поваренные книги, которые готовы к упаковке для хранения в артефакте или могут быть загружены на сервер Chef.
- Прочитайте эту статью в документации по поварам, чтобы узнать больше о, Как работает Berkfhelf?
Шаги для создания действий GitHub
- Под репозиторий кода GitHub я выбрал
Действия
вкладка - Выбрал
Новый рабочий процесс
- Тогда выбрал
Настройте рабочий процесс самостоятельно
- Код YAML ниже будет рабочем процессом GitHub Action CI для поваренных книг репозиторий
name: Build-Package Chef Cookbooks on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Set up Ruby 2.6 uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - name: Setup Gem Files run: | bundle install --jobs 4 --retry 3 # Install berks gem - name: Run Code Analysis using cookstyle run: | echo `pwd` echo "\n" chmod +x sca.sh ./sca.sh - name: Build and Bundle Cookbooks and dependencies run: | echo `pwd` echo "\n" chmod +x berks-vendor.sh echo `ls -l` ./berks-vendor.sh # Berks vendor cookbooks - name: Package cookbooks to upload to artifact repo or Upload cookbook Chef server using berks upload run: | echo "package cookbooks dumped in the `cookbook_cache` directory and store it to artifact repo, or upload cookbooks to Chef server using 'berks upload' command"
Рабочий процесс действий Github объяснил
- Рабочий процесс, который я создал для этого репо, является пользовательским рабочим процессом, лучше подходит для этого репозитория Cookbook
- Рабочий процесс пинает на каждом коде нажимает на репо, запускает остальные шаги на сервере CI (Ubuntu в большинстве случаев)
- Проверка репо
- Устанавливает Ruby.
- Использует GemFile и устанавливает необходимые GEM-пакеты и это зависимые драгоценные камни
- Вызовите статический анализ кода на кулинарных книгах с использованием GEM Cookstyle, SCA.SH Script, выполняющий шаг анализа кода. Сценарий использует
Cookstyle
Ruby Gem, чтобы выполнить проверку синтаксиса поваренной книги и анализа кода
# sca.sh script ls -ltr | grep drw | grep -v cookbook | awk '{print $9}' | while read dir_name do # berks vendor ../cookbook_cache echo $dir_name cookstyle $dir_name done
- Построить и хранить кулинарные книги, используя команду «Berks Vendor» в каталог, Berks-vendor.sh Script используется для этого шага.
# berks-vendor.sh script ls -ltr | grep drw | grep -v cookbook | awk '{print $9}' | while read dir_name do echo $dir_name cd $dir_name berks vendor ../cookbook_cache cd .. done
- Последнее CI Step в рабочем процессе — это, посылка поваренные книги, сброшенные в
cookbook_cache
Справочник и хранить его в Artifact Reppo или загрузить кулинарные книги на сервер Chef, используя команду «Berks Upload». - Все рабочие процессы Action GitHub хранятся внутри того же местоположения для хранилища под
.Github/Workflows
Отказ В случае каких-либо изменений мы можем получить доступ к файлу YAML и редактировать его.
Список используемой литературы
Действие Github Документация Шеф-повар Berkshelf.
Оригинал: «https://dev.to/chefgs/writing-a-github-actions-workflow-for-chef-cookbook-cf1»