Есть ли какой-либо инструмент для автоматизации синего/зеленого развертывания в cloudfoundry для приложений node.js. Я пробовал подключаемый модуль Cloudfoundry Gradle (https://github.com/cloudfoundry/cf-java-client/tree/master/cloudfoundry-gradle-plugin), но для этого требуется параметр файла с файлом jar/war, который не существует в приложении node. Как вы автоматизируете синее/зеленое развертывание приложений узла в cloudfoundry?
Сине-зеленое развертывание приложения node.js в cloudfoundry
Ответы (2)
Документация Bluemix включает краткое руководство [1] о том, как повлиять на сине-зеленое развертывание с нулевым временем простоя (также называемое развертыванием A/B). Учебник предлагает два подхода. Я бы порекомендовал второй, который использует команды cf map-route и cf unmap-route, чтобы позволить вам иметь две версии вашего приложения, разделяющие маршрут. Вы развертываете новую версию, используя маршрут, который известен только вам. Протестируйте, чтобы убедиться, что оно работает должным образом, а затем сопоставьте исходный маршрут с новой версией, чтобы старая и новая версии вашего приложения использовали один и тот же маршрут. Затем вы можете уменьшить масштаб старой версии (до нуля экземпляров) и увеличить масштаб другой после того, как обе версии будут сопоставлены с одним и тем же маршрутом. По мере уменьшения масштаба экземпляров эластичная среда выполнения гарантирует, что все активные запросы будут приостановлены до завершения работы экземпляра.
Это руководство [2] Тима Спанна также очень хорошо объясняет и ссылается на другой замечательный источник, опубликованный Мэттом Стайном, который был великолепен в то время, когда он был опубликован, но теперь немного устарел с синтаксисом cf cli.
Вот пример [3] автоматизации, которую мы должны были повлиять на синее/зеленое развертывание веб-приложения cloudfoundry.org. Надеюсь, вы сможете переназначить его для своих нужд.
Еще одно хорошее руководство [4], которое включает в себя автоматизацию и описывает, как интегрировать сине-зеленую автоматизацию развертывания в IBM DevOps Services.
[1] https://www.ng.bluemix.net/docs/#manageapps/index-gentopic3.html#genTopProcId4
[2] http://www.cloudfoundry.rocks/blue-green-deployment-with-cloudfoundry/
[3] https://github.com/cloudfoundry/cloudfoundry.org/blob/master/publish.sh
Существует плагин сообщества для Cloud Foundry, который автоматизирует развертывание сине-зеленого. Источник: https://github.com/bluemixgaragelondon/cf-blue-green-deploy< /а>. Чтобы использовать, выполните следующие действия в сценарии развертывания:
cf install-plugin blue-green-deploy -r CF-Community
cf blue-green-deploy <app_name> --smoke-test <path to test script>
(Тест дыма необязателен, но разумен.)
Если тестовый сценарий завершится с нулевым кодом выхода, плагин переназначит все маршруты из текущего работающего приложения в новое приложение.