Рубрики
Uncategorized

Написание Github Действия Рабочий процесс для Chef Cookbook

Таблица контента Введение Цель Berkfhelf Шаги для создания Действия GitHub Github A … Помечено Github, действия, Devops, Chefcookbook.

  • Введение
  • Цель
  • Berkshelf.
  • Шаги для создания действий GitHub
  • Рабочий процесс действий Github объяснил
  • Список используемой литературы

Введение

Я предполагаю, что целевая аудитория для этой статьи, как ожидается, имеет базовое понимание GitHub в качестве инструмента управления источником. Также эта статья предназначалась для Chef Cookbook Devops Developers, стремясь получить представление о реализации непрерывного потока интеграции для кулинарных книг шеф-поваров с использованием действий GitHub.

Цель

  1. Кулинарные книги CODE REPO имеет кулинарные книги обертки шеф-поваров для Apache и Windows
  2. Развертывание шеф-повара можно сделать двумя способами, используя 1. Berkshelf, 2. Политика
  3. Berkfhelf немного более старый стиль развертывания, где, как, развертывание политики новая способ выполнения развертывания шеф-повара
  4. Я подобрал Berkfhelf Way для этого репо

Berkshelf.

  1. Используется BerksFile для создания контента REPO, Cookbooks Reppo содержит кулинарные книги и все это Inter-зависимые поваренные книги, которые готовы к упаковке для хранения в артефакте или могут быть загружены на сервер Chef.
  2. Прочитайте эту статью в документации по поварам, чтобы узнать больше о, Как работает Berkfhelf?

Шаги для создания действий GitHub

  1. Под репозиторий кода GitHub я выбрал Действия вкладка
  2. Выбрал Новый рабочий процесс
  3. Тогда выбрал Настройте рабочий процесс самостоятельно
  4. Код 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»