2012-08-30 31 views
9

uruchamiamy serwer Bamboo Build 4.1.2 na komputerze z systemem Windows. Stworzyłem plik wsadowy, który jest wykonywany w ramach zadania. Skrypt jest po prostu przywoływany w pliku .bat, a nie wstawiany w zadaniu. (np. createimage.bat)Bamboo Variable Replacement in Batch File

W ramach createimage.bat chciałbym użyć zmiennych PLAN Bamboo. Zwykła składnia zmiennych nie działa, oznacza nie zastępuje. Linia w skrypcie może być na przykład:

goq-image - $ {bamboo.INTERNALVERSION} -SB $ {bamboo.buildNumber}

Jakieś pomysły?

góry dzięki

Chris

+0

znalazłem ten artykuł: https://answers.atlassian.com/questions/66109/accessing-build-specific-variables-from -script-bez-konieczności-używania-środowiska-zmiennych-box-on-script-config-page – Chris

Odpowiedz

13

Używasz wewnętrzną składnię Bamboo variables, ale Script Task przechodzi do tych skryptów środowisku systemu operacyjnego i muszą odwoływać się z odpowiednią składnią odpowiednio, na przykład (Proszę zwrócić uwagę na podkreślenia między terminologię):

  • Unix - goq-image-$bamboo_INTERNALVERSION-SB$bamboo_buildNumber
  • Windows - goq-image-%bamboo_INTERNALVERSION%-SB%bamboo_buildNumber%

Niespodziewanie, jestem w stanie znaleźć oficjalny punkt odniesienia dla odmiany systemu Windows, nie tylko Using variables in bash prawo teraz:

Zmienne Bamboo eksportowane są jako zmienne powłoki bash. Wszystkie pełne zatrzymania (kropki) są konwertowane na podkreślniki. Na przykład zmienna bamboo.my.variable to $ bamboo_my_variable in bash. Jest to związane z zadaniami skryptów pliku (a nie z zadaniami skryptów wbudowanych).

Jednak mam zorientowali składni Windows z dokumentacji Atlassian w pewnym momencie, a testowane i wykorzystywane jako udokumentowane w Bamboo Variable Substitution/Definition:

  • zmienne te są również dostępne jako zmienne środowiska w Zadanie skryptowe na przykład, choć nieco inaczej nazwane, np $ bamboo_custom_aws_cfn_stack_StringWithRegex (Unix) lub % bamboo_custom_aws_cfn_stack_StringWithRegex% (Windows)