プロジェクトのデプロイジョブを自動的に作成する、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 として返します。