gitlabでymlを統合したい

バンドルスクリプトの作成

#!/bin/bash

# Swagger CLIでOpenAPIファイルを1つに統合するスクリプト
swagger-cli bundle -o bundled_openapi.yml openapi.yml

このスクリプトは、openapi.ymlとその参照を1つのファイルにバンドルして、bundled_openapi.ymlとして出力します。

GitLab CI/CD設定

.gitlab-ci.ymlファイルに以下の設定を追加します

image: node:latest

stages:
  - validate
  - bundle

validate_openapi:
  stage: validate
  script:
    - npm install -g @apidevtools/swagger-cli
    - swagger-cli validate openapi.yml

bundle_openapi:
  stage: bundle
  script:
    - npm install -g @apidevtools/swagger-cli
    - ./scripts/bundle_openapi.sh
  artifacts:
    paths:
      - bundled_openapi.yml
  only:
    - main

scripts ディレクトリの作成

project-root/
├── openapi.yml
├── paths/
│   ├── example1.yaml
│   ├── example2.yaml
└── scripts/
    └── bundle_openapi.sh

GitLabのパイプラインが実行されると、bundled_openapi.ymlファイルが生成されます。このファイルには、分割されたすべてのファイルが統合され、相対パスの問題が解決されているはずです

是非フォローしてください

最新の情報をお伝えします

カテゴリー: API