2013-10-04 24 views
15

I parametri di Jenkins sono sensibili al maiuscolo/minuscolo? Ho una build parametrizzata che richiede un parametro ant denominato "build_parameter" da impostare prima della build. Quando provo ad accedere al $ {BUILD_NUMBER} impostato da Jenkins, ottengo il valore impostato per il parametro ant. Se i parametri di costruzione non fanno distinzione tra maiuscole e minuscole, qualcuno può suggerirmi di risolvere questo problema? Non riesco a cambiare il nome del parametro di costruzione poiché dovrò cambiare i miei script di compilazione (che non è un'opzione). Grazie!Jenkins - Come accedere alla variabile di ambiente BUILD_NUMBER

+0

consultare https://issues.jenkins-ci.org/browse/JENKINS-1322 –

+0

Adarsh: My build_param La variabile di ambiente e ambiente $ {BUILD_NUMBER} ha valori diversi. Scusa se non sono stato chiaro. Ho bisogno di un modo per accedere al valore $ {BUILD_NUMBER} di Jenkins. Tuttavia, quando provo ad accedervi come facciamo per le variabili ambientali ($ {BUILD_NUMBER}), stampa l'altro valore. – Anand

+0

In base alla mia indagine, BUILD_NUMBER fornisce il numero di build corrente. Quindi è necessario modificare lo script di build. Oppure prova a creare una nuova variabile e assegnale il valore di BUILD_NUMBER e utilizzandolo. –

risposta

15

Per rispondere alla prima domanda, le variabili Jenkins fanno distinzione tra maiuscole e minuscole. Tuttavia, se stai scrivendo uno script batch di Windows, non fanno distinzione tra maiuscole e minuscole, perché a Windows non interessa il caso.

Dato che non si è molto chiari sul proprio setup, supponiamo che si stia utilizzando una fase ant form per attivare l'attività ant. Dai uno sguardo a the Jenkins documentation (stessa pagina che Adarsh ​​ti ha fornito, ma capitolo diverso) per un esempio su come rendere le variabili di Jenkins disponibili per il tuo compito ant.

EDIT:

Quindi, ho bisogno di accedere alla variabile ambientale $ {} BUILD_NUMBER per costruire l'URL.

Perché non utilizzare $BUILD_URL quindi? Non è disponibile nel plugin email esteso?

+0

Peter: Si prega di fare riferimento al mio commento sopra per la risposta di Sagar. Devo ottenere il valore della variabile ambientale $ {BUILD_NUMBER}, tuttavia suppongo che venga sovrascritto dall'altro parametro (parametro in minuscolo). Sto usando Mac OS e non sto usando questi parametri in nessuno script bash. Tutto quello che sto cercando di fare è usarlo nel contenuto email di notifica email estesa. – Anand

+0

Peter: Grazie per il suggerimento. Ho provato $ {BUILD_URL} dopo che mi hai suggerito. Mi porta alla pagina di costruzione. C'è un modo per indicarlo direttamente all'artefatto in modo che inizi il download del manufatto direttamente dal link nell'email? – Anand

+3

È $ {BUILD_URL}/artefatto/

5

Presupponendo sto capendo la tua domanda e configurato correttamente,

Se stai cercando di utilizzare il numero di build nello script, è necessario opzioni:

1) Quando si chiama formica, uso: ant -Dbuild_parameter=${BUILD_NUMBER}

2) modificare lo script in modo che:

<property environment="env" /> 
<property name="build_parameter" value="${env.BUILD_NUMBER}"/> 
+0

Sagar: utilizzo l'opzione di configurazione parametrizzata per consentire all'utente di inserire il parametro build_number (nota: è in lower_case) e quindi utilizzarlo nel mio script ant. Tuttavia, ho bisogno di inviare un'e-mail con la posizione artefatto come URL. Quindi, dovrò accedere alla variabile ambientale $ {BUILD_NUMBER} per costruire l'URL. Ora, l'utente ha inserito il parametro $ {build_number} e la variabile ambientale $ {BUILD_NUMBER} è diversa. Ma se aggiungo $ {BUILD_NUMBER} all'URL, prende sempre il valore memorizzato in $ {build_number}. – Anand

+0

Aah ok. In tal caso, perché non si modifica "build_number" in "build.number" nell'elenco dei parametri. Ha ancora lo stesso significato e la gente non lo confonderà con nient'altro; allo stesso tempo, sarà completamente diverso da BUILD_NUMBER. Non sono sicuro che ci sia insensibilità alle maiuscole/minuscole (sono il tuo server o il tuo client su Windows?), Ma sarebbe la tua migliore via d'uscita. È ancora possibile utilizzare il punto 1 o 2 sopra per abbinare le variabili interne dello script al parametro e alle variabili di ambiente. – Sagar

Problemi correlati