2013-02-21 20 views
8

"Bir yürütme kabuğu" kullanarak bir Jenkins işinden yürüttüğüm bir bash komut dosyası var. Komut dosyası bir EC2 örneğini başlatır ve yeni örneğin ana bilgisayar adını içeren host değişkenini ayarlar.Jenkins: kabuk komut dosyasından env değişkeni ayarı

Yeni ortamın ana bilgisayar adını (komut değişkeni: host) bir Jenkins ortam değişkeni olarak ayarlamak istiyorum, böylece aşağı akış işine aktarabilirim (muhtemelen Build Flow eklentisini kullanarak).

Nasıl yapılacağı hakkında bir fikriniz var mı?

Teşekkür

cevap

8

Yapılar arasında veri yaymak için bir dosya kullanarak bitti. İlk yapı, çoğaltmam gereken bilgileri içeren bir dosya oluşturur (yeni oluşturulan EC2 örneğinin ana bilgisayar adı). gibi dosya görünür: dosyayı okudum ve sonra bir sonraki yapı mevcuttur özelliklerini "eklemesine" EnvInject eklenti kullanmak

host.name=ec2.123.3345.amazon.com 

(ı orchestrate Oluştur Akış Plugin yapýlar kullanıyorum).

+2

Aynı problemi yaşadım, henüz başka bir çözüm olmaması kötü. – CSchulz

+0

NANT kullanıyorsanız, EnvInject eklentisini kullanarak ortam değişkenini enjekte etmek ve bazı varsayılan değerlere ayarlamak mümkündür. Sonra NANT komut dosyasında, doğru değere ayarlamak için setenv görevini kullanın. – NotAgain

2

Değişkeninizi enjekte için yükleyebileceğiniz bir eklenti var: Sorununu anlasalardı EnvInject Plugin

, bu basit eklenti neye ihtiyacınız olduğunu düşünüyorum.

+0

Zaten bu eklentiye bakıyorum, ancak ihtiyacım olan bir örnek bulamıyorum. –

+0

Çok basit: İlk inşa adımı olarak yeni bir "enjekte ortam değişkeni" eklemeniz ve yolunuzu belirtmeniz veya doğrudan değişkeni tercih etmeniz gerekiyor: https://wiki.jenkins-ci.org/display/JENKINS/ EnvInject + Plugin – Vargan

+0

Maalesef bundan biraz daha karmaşık. Özgün yazımı dikkatlice okursanız, gereksinim, dahili olarak "ana bilgisayar" değişkenini ayarlayan bir kabuk komut dosyasını çalıştırmam gerektiğidir. Bu değişken bir şekilde Jenkins –

İlgili konular