1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-swagger-codegen

Клонировать/Скачать
docker.md 5.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 22.06.2025 07:22 4f083a4

Docker

Разработка в Docker

Вы можете использовать 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-генератора в Docker

См. разработку standalone-генератора

Запуск Docker в Vagrant

Необходимо: установите 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

Общедоступные предварительно собранные образы Docker- https://hub.docker.com/r/swaggerapi/swagger-generator/ (официальное веб-приложение)

Образ Docker Swagger Generator

Образ 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 CLI Docker Изображение

Изображение 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-swagger-codegen.git
git@api.gitlife.ru:oschina-mirror/mirrors-swagger-codegen.git
oschina-mirror
mirrors-swagger-codegen
mirrors-swagger-codegen
master