Вы можете использовать run-in-docker.sh
, чтобы выполнять все разработку. Этот скрипт отображает ваш локальный репозиторий в /gen
в контейнере Docker. Он также отображает ~/.m2/repository
в соответствующее место в контейнере.
Чтобы выполнить mvn package
:
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
./run-in-docker.sh mvn package
Собранные артефакты теперь доступны в вашей рабочей директории.
После сборки, run-in-docker.sh
будет работать как исполняемый файл для swagger-codegen-cli. Чтобы сгенерировать код, вам потребуется вывести его в директорию под /gen
(например, /gen/out
). Например:
./run-in-docker.sh help # Выполняет команду 'help' для swagger-codegen-cli
./run-in-docker.sh langs # Выполняет команду 'langs' для swagger-codegen-cli
./run-in-docker.sh /gen/bin/go-petstore.sh # Собирает клиент на Go
./run-in-docker.sh generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml \
-l go -o /gen/out/go-petstore -DpackageName=petstore # Генерирует клиента на Go, выводит локально в ./out/go-petstore
См. разработку standalone-генератора
Необходимо: установите Vagrant и VirtualBox.
git clone http://github.com/swagger-api/swagger-codegen.git
cd swagger-codegen
vagrant up
vagrant ssh
cd /vagrant
./run-in-docker.sh mvn package
Образ Swagger Generator может работать как автономное веб-приложение и API для генерации кода. Этот контейнер можно интегрировать в CI-канал, и требует хотя бы двух HTTP-запросов и некоторой оркестрации Docker для доступа к сгенерированному коду.
Пример использования (учитывайте, что это предполагает наличие jq
для обработки JSON на командной строке):
# Запуск контейнера и сохранение ID контейнера
CID=$(docker run -d swaggerapi/swagger-generator)
# Ожидание запуска
sleep 5
# Получение IP запущенного контейнера
GEN_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' $CID)
# Выполнение HTTP-запроса и сохранение ссылки для скачивания
RESULT=$(curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"swaggerUrl": "https://petstore.swagger.io/v2/swagger.json"
}' 'http://localhost:8188/api/gen/clients/javascript' | jq '.link' | tr -d '"')
# Скачивание сгенерированного архива
curl $RESULT > result.zip
# Остановка образа Swagger Generator
docker stop $CID && docker rm $CID
В приведенном выше примере result.zip
будет содержать сгенерированный клиент.
Изображение Swagger Codegen действует как автономное исполняемое приложение. Его можно использовать в качестве альтернативы установке через Homebrew или для разработчиков, которые не могут установить Java или обновить установленную версию.Чтобы сгенерировать код с помощью этого изображения, вам потребуется смонтировать локальное расположение как том.
Пример:
docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \
-i https://petstore.swagger.io/v2/swagger.json \
-l go \
-o /local/out/go
(На Windows замените ${PWD}
на %CD%
)
Сгенерированный код будет расположен в директории ./out/go
текущего каталога.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )