Sind die Jenkins-Parameter die Groß- und Kleinschreibung? Ich habe einen parametrisierten Build, der einen ant-Parameter namens "build_parameter" benötigt, der vor dem Build gesetzt wird. Wenn ich versuche, auf die von Jenkins gesetzte $ {BUILD_NUMBER} zuzugreifen, bekomme ich den Wert für den ant-Parameter. Wenn die Build-Parameter nicht von der Groß- und Kleinschreibung abhängen, kann mir jemand eine Lösung vorschlagen? Ich kann den Namen des Build-Parameters nicht ändern, da ich meine Build-Skripte ändern muss (was keine Option ist). Vielen Dank!Jenkins - Zugriff auf die Umgebungsvariable BUILD_NUMBER
Antwort
Um Ihre erste Frage zu beantworten, Jenkins Variablen sind Groß-und Kleinschreibung. Wenn Sie jedoch ein Windows-Stapelscript schreiben, wird die Groß-/Kleinschreibung nicht berücksichtigt, da Windows den Fall nicht interessiert.
Da Sie sich mit Ihrer Konfiguration nicht sehr klar auskennen, nehmen wir an, Sie verwenden einen Ameisen-Build-Schritt, um Ihre Ameisen-Aufgabe zu starten. Werfen Sie einen Blick auf the Jenkins documentation (dieselbe Seite, die Adarsh Ihnen gab, aber anderes Kapitel) für ein Beispiel, wie man Jenkins-Variablen für Ihre Ameisenaufgabe verfügbar macht.
EDIT:
Daher werde ich die Umgebungsvariable $ zugreifen müssen {BUILD_NUMBER} die URL zu erstellen.
Warum verwenden Sie nicht $BUILD_URL
dann? Ist es nicht im erweiterten E-Mail-Plugin verfügbar?
Peter: Bitte beziehen Sie sich auf meinen Kommentar oben für Sagars Antwort. Ich brauche den Wert der Umgebungsvariablen $ {BUILD_NUMBER}, aber ich nehme an, dass er von dem anderen Parameter überschrieben wird (Kleinbuchstaben). Ich benutze Mac OS und ich verwende diese Parameter nicht in irgendeinem Bash-Skript. Alles, was ich versuche, ist, es in den E-Mail-Inhalten für die erweiterte E-Mail-Benachrichtigung zu verwenden. – Anand
Peter: Danke für deinen Vorschlag. Ich habe $ {BUILD_URL} nach dem Vorschlag ausprobiert. Es bringt mich auf die Build-Seite. Gibt es eine Möglichkeit, es direkt auf das Artefakt zu verweisen, so dass es den Download des Artefakts direkt über den Link in der E-Mail startet? – Anand
Es ist $ {BUILD_URL}/Artefakt/
Unter der Annahme, ich verstehe Ihre Frage und das Setup richtig,
Wenn Sie versuchen, die Build-Nummer in Ihrem Skript zu verwenden, müssen Sie Optionen:
1) Beim Aufruf ant, Verwendung: ant -Dbuild_parameter=${BUILD_NUMBER}
2) Ihr Skript ändern, so dass:
<property environment="env" />
<property name="build_parameter" value="${env.BUILD_NUMBER}"/>
Sagar: Ich benutze parametrisierte Build-Option, damit der Benutzer den build_number-Parameter (Anmerkung: es ist in lower_case) eingeben und dann in meinem ant-Skript verwenden. Ich muss jedoch eine E-Mail mit dem Artefaktstandort als URL senden. Daher muss ich auf die Umgebungsvariable $ {BUILD_NUMBER} zugreifen, um die URL zu erstellen. Der Benutzer hat den Parameter $ {build_number} und die Umgebungsvariable $ {BUILD_NUMBER} eingegeben. Aber wenn ich $ {BUILD_NUMBER} an die URL anhange, nimmt es immer den in $ {build_number} gespeicherten Wert auf. – Anand
Aah ok. Warum ändern Sie in diesem Fall nicht "build_number" in "build.number" in Ihrer Parameterliste. Es hat immer noch die gleiche Bedeutung und die Leute werden es nicht mit etwas anderem verwechseln; gleichzeitig wird es sich komplett von BUILD_NUMBER unterscheiden. Ich bin mir nicht sicher, ob es Groß-/Kleinschreibung gibt (sind Ihr Server oder Ihr Client unter Windows?), Aber das wäre der beste Ausweg. Sie können weiterhin Punkt 1 oder 2 verwenden, um die internen Variablen Ihres Skripts mit den Parameter- und Umgebungsvariablen abzugleichen. – Sagar
- 1. Wie man jenkins verwendet, um BUILD_NUMBER-Umgebungsvariable in Großbuchstaben zu erklären?
- 2. Jenkins: Wie wird die Build-ID des Jobs auf das gleiche Format wie Jenkins Global zurückgesetzt?
- 3. Jenkins Pipeline Zugriff auf Umgebungsvariablen
- 4. Wie Jenkins Umgebungsvariable aus Skript
- 5. Jenkins: Zugriff auf Bitbucket Payload in Shell
- 6. Maskierte Jenkins-Umgebungsvariable an Docker-Container übergeben
- 7. Zugriff auf die AppKernel-Umgebungsvariable in Symfony 2
- 8. Wie verwende ich die Jenkins-Umgebungsvariable im Shell-Skript?
- 9. Erhalte Zugriff auf Build Changelog in Jenkins
- 10. Zugriff auf die Nutzlast des BitBucket-Webhooks in Jenkins-Jobs
- 11. Zugriff auf Jenkins JAR beim Start
- 12. jenkins Zugriff [email protected] fehlt die Leseberechtigung
- 13. Umgebungsvariable zu Hudson hinzufügen
- 14. Zugriff auf SCM (Git) Variablen auf einem Jenkins Pipeline Job
- 15. Wie kann ich in Android Studio eine Umgebungsvariable gesetzt, bevor es meine gradle
- 16. Jenkins umleiten/to/jenkins auf Standalone-Installation
- 17. Wie programmiere ich eine Umgebungsvariable in Jenkins/Hudson?
- 18. Umgebungsvariable vom vorherigen Build abrufen
- 19. Jenkins in Docker mit Zugriff auf Host-Docker
- 20. Der Zugriff auf diese Blöcke Jenkins Pipelines Skript
- 21. Zugriff auf Groovy-Datei von Jenkins Seed Job mit DSL
- 22. Programmgesteuert Zugriff auf Kinder Builds in Jenkins Build-Fluss
- 23. SSH-Zugriff auf Github: shell in Ordnung, Jenkins nicht
- 24. Zugriff auf das aktuelle Jenkins-Build in Groovy-Skript
- 25. Zugriff auf Jenkins über den Browser unter Windows nicht möglich
- 26. So geben Sie einen Wert für eine Jenkins-Umgebungsvariable an, die ein Leerzeichen enthält
- 27. Jenkins 'GitHub-Zugriff funktioniert plötzlich nicht mehr
- 28. NGINX-Basisauthentifizierung basierend auf Umgebungsvariable
- 29. Referenz Xcode Versionsnummer von Jenkins
- 30. Zugreifen auf Umgebungsvariable in chefSpec
siehe https://issues.jenkins-ci.org/browse/JENKINS-1322 –
Adarsh: My build_param Die Variable $ {BUILD_NUMBER} hat unterschiedliche Werte. Tut mir leid, dass ich nicht klar bin. Ich brauche einen Weg, um auf den Jenkins $ {BUILD_NUMBER} -Wert zuzugreifen. Wenn ich jedoch versuche, auf die Umgebungsvariablen ($ {BUILD_NUMBER}) zuzugreifen, wird der andere Wert ausgegeben. – Anand
Nach meiner Untersuchung gibt BUILD_NUMBER Ihnen aktuelle Build-Nummer. Sie müssen also Ihr Build-Skript ändern. Oder versuchen Sie, eine neue Variable zu erstellen, ordnen Sie ihr den Wert BUILD_NUMBER zu und verwenden Sie sie. –