0

プロジェクトのデプロイジョブを自動的に作成する、groovy のジェンキンス用の DSL ジョブビルドスクリプトを作成したいと考えています。各プロジェクトには、ansible ロールとホスト パラメーター用の一般的な yml ファイルがあり、それを読み取り、その内容を使用してジョブを構成します。

問題は、これまでのところ yml ファイルの読み取りに snakeyml を使用していますが、効率的に使用できない arraylist (マップのようなもの) を返すことです。

誰もがより良い解決策を知っていますか?

私のymlサンプルファイル:

---
- hosts: app.host
  roles:
  - role: app-db
    db_name: myproje_db
    db_port: "3306"
    migrate_module: "my-proje-api"
  - role: java-app
    app_name: "myproje-api"
    app_artifact_name: "my-proje-api"
    app_links:
    - myproje_db

メインの groovy スクリプトでワークスペースからファイルを読み取ります。

InputStream  configFile = streamFileFromWorkspace('data/config.yml')

別のクラスの別の関数で処理します。

public String configFileReader(def out, InputStream  configFile){
      def map
      Yaml configFileYml = new Yaml()
      map = configFileYml.load(configFile)
}

マップ クラス タイプを arraylist として返します。

4

1 に答える 1