0
想要寫在Groovy詹金斯自動使部署工作爲我們的項目DSL工作構建腳本。在每個項目中都有一個用於角色和主機參數的通用yml文件,我想閱讀它並使用其內容來配置作業。我如何讀ansible YML配置文件在常規
的問題是,到目前爲止,我使用的是snakeyml讀取YML文件,但它返回一個ArrayList(更像是一個地圖),我不能有效地利用。
的人都知道一個更好的解決方案?
我陽明樣本文件:
---
- 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)
}
它返回地圖類型作爲數組列表。
謝謝前進,我弄錯了。你介意爲這個yaml寫一個完整的示例代碼嗎?例如,我怎樣才能訪問項目myproje_db在Java應用程序角色的app_links?導致示例代碼沒有爲我工作,它給我錯誤的指向字符串的指針。 – Fezo
如果我不知道房產的名稱,該怎麼辦?就像我不知道有一個屬性爲migrate_module,但我正在另一個配置文件中編寫此屬性,或者我正在製作它的映射。我真的很感激你可以給我關於這件事的任何線索。 – Fezo
當讀取配置時,我已經添加了一個到groovy結構的映射。這只是一個地圖集合。 –