2016-07-15 134 views
0

我正在寫我自己的模塊到可信和部分代碼不能在python中,因爲我正在處理的軟件沒有python api。它支持groovy,所以我包含一個groovy腳本,但在模塊目錄中,但是當我運行模塊時,我注意到ansible會將模塊中的所有python文件複製到/ tmp/ansible _ {{some_random_character}}。然而,ansible不包括我的groovy腳本,所以當我嘗試運行模塊時崩潰,因爲它找不到groovy腳本。有什麼方法可以告訴可以將所有文件包含在模塊目錄中,而不僅僅是Python文件?包含沒有python文件到模塊

外觀模塊目錄現在這個樣子

模塊

__init__.py 
    deploy.groovy 
    deploy.py 

代碼示例(如果有更好的方式來做到這一點)

pathname = os.path.dirname(sys.argv[0]) 
p = subprocess.Popen("groovy " + pathname + "/deploy.groovy ") 

回答

1

Developing Modules

模塊必須自包含在一個文件中才能被自動傳輸。

爲什麼不使用groovy腳本作爲模塊?

groovy_module到庫目錄:

#!/usr/bin/groovy 

// Groovy code goes here 
println "{\"hello\":\"world\"}" 

從你的劇本叫:

tasks: 
    - groovy_module: 

確保常規安裝在目標機器上。