Override dependency properties by parameter values ​​in TeamCity 9

In TeamCity 9, I have two build configurations: A, B, which depends on A (snapshot dependency). Sometimes A starts alone, sometimes in a chain with B. I want to change build.numberfrom A to (for example) 0.<build.counter of B>when A is running B.

According to the docs :

Starting with TeamCity 9.0, it is possible to override dependent parameters by overriding them in a dependent assembly. For example, assembly configuration A depends on B and B depends on C; A has the ability to change parameters in any of its dependencies using the following format:

reverse.dep.<btID>.<property name>

Ok, I created a configuration parameter in B: reverse.dep.A.build.number= 0.%build.counter%. Therefore, when I run the assembly chain, I assume that the assembly number. A will be changed to 0.123(for example, build.counter from B equal to 123), but instead the string 0.%build.counter% was passed to A and A uses its own property build.counter.

How to pass exactly TeamCity parameter values?

+4
source share
2 answers

Consider
Unable to pass value to dependency assembly using syntax reverse.dep..

reverse.dep parameter values ​​are passed along the dependency chain as is.

(from here: https://youtrack.jetbrains.com/issue/TW-40772 )


Consider the problem

  • "C"
  • "C" ​​ "A" " , "
  • "C" "B" .
  • "B" "A" reverse.dep.A.use_C_number= true, "A" , .
  • script ( ) "A" , (PowerShell):

    # Gets build.number of "C"
    $C_num = "%dep.C.build.number%"
    
    # Gets 'use_C_number' parameter
    $use_C_number = "%use_C_number%"
    
    # Change current build.number if needed
    if ($use_C_number -eq "true") {
      Host-Write "##teamcity[buildNumber '1.2.3.$C_num']"
    }
    

"C" "B" , "A" , "A" "" "C" ( "C" VCS).
: "C" .
. "" , VCS, , . TeamCity .

, C build.counter , "" ​​ . "A" , build.number.

P.S. , .

+2

"A" "B" . % build.number% .

"C" ( A B). A, B %dep.C.system.build.number% , A B.

+2

Source: https://habr.com/ru/post/1583998/


All Articles