Jenkins: Jak używać zmiennej z przedkonstruowanej powłoki w Maven „Cele i opcje”
Mam pracę w Maven w Jenkins. Przed rzeczywistym krokiem kompilacji mam krok „Wykonaj powłokę” przed budowaniem. W tej powłoce ustawiłem zmienną:
REVISION=$(cat .build_revision)
Chciałbym użyć tej zmiennej w zadaniu budowania Maven w „Celach i opcjach”:
clean install -Drevision=${REVISION}
Ale to nie działa! „Drevision” jest ustawione na „$ {REVISION}”, a nie na rzeczywistą wartość $ {REVISION}. Wydajność:
Executing Maven: -B -f /home/gerrit/.jenkins/jobs/<job_name>/workspace/pom.xml clean install -Drevision=${REVISION}
Działa ze zmiennymi środowiskowymi Jenkins:
clean install -Dbuild=${BUILD_NUMBER}
Ustawia „Dbuild” na rzeczywisty numer kompilacji. Wydajność:
Executing Maven: -B -f /home/gerrit/.jenkins/jobs/<job_name>/workspace/pom.xml clean install -Dbuild=54
Moje pytanie: Jak używać zmiennej powłoki w Maven „Cele i opcje”?
EDYTOWAĆ:
Próbowałem użyćWtyczka Jenkins EnvInject „Wstaw zmienne środowiskowe” po powłoce przed budowaniem, a moja zmienna jest teraz dostępna np. powłoki post-build, ale nadal nie są dostępne w Maven „Cele i opcje”.
Następnie można ustawić „Wstaw zmienne środowiskowe do procesu budowania” za pomocą wtyczki EnvInject, która faktycznie udostępnia te zmienne w Maven „Cele i opcje”, ale są one ustawiane zaraz po wyewidencjonowaniu SCM, tj. Przed krokami przed budowaniem, i nie obsługują ewaluacji wyrażeń.