продакшен - как это правильно делать?
Вот загрузил я из Swagger шаблон go-server, скачал его в виде архива go-server-server-generated.zip, развернул в каталоге пользователя на сервере и запустил.
Но если мне нужно что-то поменять, расширить API, например, я должен заново скачивать архив, искать там отличия и вносить их в рабочие скрипты на сервере? Или есть какая-то технология для этого?
Если у вас не монорепо (а по вопросу скорее всего нет), то вы берёте и складываете api в отдельный репозиторий, подключаете его сабмодулем в репозиторий вашего кода и выполняете go-swagger, коммитите это в репу. В CI на PR делаете проверку, что выполнение go-swagger не меняет ничего в репо (что защитит от ленивого программиста, который не выполнил заранее go-swagger)
Евгений, спасибо за ответ! Правильно ли я понял, что я могу в своем Gitlab создать репозиторий для своего проекта, а каталоги, созданные Swagger-ом, делаю как проект, вложенный в основной? А потом командой типа swagger generate server [-f ./swagger.json] -A [application-name [--principal [principal-name]] генерирую код и делаю его коммит? И в этом случае мне нужно устанавлваить swagger на боевой сервер? Еще я не знаю что это за CI на PR, подозреваю что Continuous integration, которую мне нужно настраивать у себя в Gitlab, это так?
А зачем сабмодулем? Можно ведь и в обычный модуль оформить
Чтобы юзать во фронте
Не нужно устанавливать swagger на боевой сервер, пусть его локально запускают разработчики, + в Continuous Integration запускается в режиме "для проверки", что его выполнили
Евгений, спасибо! Пойду читать дальше!
swag
Добрый день! Подскажите, пожалуйста, а как он в сравнении с deepmap/oapi-codegen?
Обсуждают сегодня