Рубрики
Uncategorized

CI/CD на проекте Hyperledger Fabric

Сегодня мы представляем вам второй пост этой серии технических статей о разработке с Hy … Tagged с блокчейном, Hyperledger, DevOps.

Сегодня мы представляем вам второй пост этой серии технических статей, касающихся разработки с помощью гиперлледжера.

В прошлый раз, когда мы говорили о том, как мы тестируем наш код цепочки, сегодня мы идем еще на шаг вперед, и мы покажем вам, как мы развертываем код автоматически.

CI/CD Является ли комбинированная практика автоматизации тестирования нашего приложения и развертывания приложения на наши серверы.

Наш рабочий процесс интегрирует различные платформы в нашем трубопроводе, Github, Gitlab CI и IBM Blockchain. Мы храним код в GitHub, когда мы нажимаем код, чтобы автоматически переходить в Gitlab CI, где выполняются автоматические тесты. Если все идет хорошо, мы автоматически развертываем код в IBM.

Непрерывная интеграция — это практика, которая требует от разработчиков интегрировать код в общий репозиторий несколько раз в день. Каждый раз, когда код выдвигается в репозиторий кода, автоматические тесты выполняются.

Есть много крутых сервисов CI, и мы использовали несколько из них, прямо сейчас мы довольны Gitlab CI, очень простыми в настройке и полными возможностей!

На нашем процессе CI/CD есть две фазы: тестирование и развертывание Вы можете иметь несколько фаз параллельно, на этапе испытаний мы запускаем три процесса, бэкэнд, фронт и тестирование цепного кода. Когда тесты проходят и если правила соблюдены, приложение и цепный код являются развернуто Анкет:-)

Здесь мы покажем вам конфигурацию для цепного кода, только так как остальная часть приложения хорошо документирована повсюду (мы используем отраслевые стандарты, такие как Django, React и т. Д. И т. Д.).

На этапе тестирования мы запускаем тесты цепного кода с помощью этой конфигурации, шаги задокументированы в фрагменте кода:

Каждое изменение, которое проходит автоматизированные тесты, автоматически развертывается в производстве, поэтому, когда тесты проходят время, пришло время развертываться!

Этот этап выполняется только в двух конкретных случаях, для Постановка и Производство Окружающая среда:

  • Постановка : Когда мы продвигаем изменения в Мастер в git
  • Производство : Когда мы толкаем изменения с помощью git тег Анкет Мы используем следующие форматы для тегов vyyyy.mm.dd (Год. Месяц. День)

Каждое развертывание состоит из двух вызовов API. Первый используется для Установите цепный код на платформе , второй на создать создание цепного кода в одном из наших каналов Анкет

Вы можете прочитать IBM Blockchain API документация Чтобы знать, что вы можете отправить на эти вызовы API.

Переменные, используемые в Gitlab CI, являются:

  • Network_id : network_id в сети IBM реквизиты для входа
  • Network_key : ключ в Учетные данные IBM Network
  • Network_pass : Секрет в IBM Network реквизиты для входа
  • Канал_ {среда} _id : канал — это имя, которое мы добавили, когда создали канал для этого проекта ( defaultChannel по умолчанию на IBM Blockchain)

См. Весь пример рецепта к ткани CI/CD Hyperledger на IBM Blockchain Анкет

IBM Blockchain Платформа, безусловно, является самым простым способом, которым мы использовали для создания сети тканей Hyperledger, у нее также есть хороший API для удаленного взаимодействия с ним, она экономит много времени и боли, не нуждающаяся в применении каких -либо типичных компонентов в ткани сеть. Есть только некоторые детали, которые мы должны учитывать при его использовании:

  • Когда мы развертываем несколько интеллектуальных контрактов с тем же именем, может быть трудно понять, что является последним развернутым, не существует группировки цепного кода по имени.
  • Невозможно архивировать старый выпуск цепного кода, поэтому мы получим много версий цепного кода в списке цепных кодов.
  • Невозможно сказать IBM Blockchain, что мой умный контракт, встроенный в GO, имеет внешнюю зависимость.
  • Регистрация не интегрирована в платформу, она открывает для нас приборную панель Kibana, чтобы увидеть журналы (я не уверен, что это хорошо или плохо, но опыт странный).

После того, как CI/CD хорошо настроен, создание и создание Cheap -Code на IBM Blockchain — это бриз, но есть некоторые предостережения, которые мы должны преодолеть, чтобы получить большую часть их платформы.

Этот пост был написан на моем блог .

Оригинал: «https://dev.to/wealize/ci-cd-on-a-hyperledger-fabric-project-83b»