2016-04-06 24 views
3

Sadece bir işin açıklamasında akış kodunu yazmak yerine harici bir kaynaktan bir .dsl dosyası çalıştırmak mümkün olduğunu biliyorum, ancak her çalıştığımda şunu söyleyebilirim:Çalışma alanının dışındaki Jenkins dosyasındaki DSL dosyasını okuyun

/home/flows/flow_script.dsl 

aşağıdaki hatayı alıyorum: Ben kabuğundan bu yol üzerinde dosya görebilirsiniz

java.io.FileNotFoundException:/home/flows/flow_script.dsl (No such file or directory) 

yolunun doğru, ama "çalışma alanı oluşturur" dışarıda bana bir şey seçelim doesnt apparetly.

cevap

1

Kısa bir süre önce bu konuyu ele aldım: DSL kodum benim çalışma alanımın dışındaydı (bir paket aracılığıyla kuruldu). Sorun, DSL Scripts yolunun sadece belirli modellere (ve mutlak yollara değil) izin veren bir Ant formatı olmasıdır.

Geçici çözümüm hacky, ancak işe yaradı:'u'dan önce çalışma dizinine harici dizini taklit eden "İşlem İş DSL'lerini İşle" adımına ekleyin. Böyle

şey:

echo "Creating a symlink from /home/flows to workspace" 
ln -sf "/home/flows" .flows 

Sonra DSL Scripts yolunu etmek ".flows/flow_script.dsl" ayarlayabilirsiniz.

Bu, bazı ek uyarılar da içeriyor: Tabi ki bağlantı kuracağınız dizinin jenkins kullanıcısı tarafından erişilebilir olması gerekir. Ve muhtemelen birçok iyi uygulamayı ihlal ediyor.