-->

Teamcity 9: How to add git short hash into assembl

2020-05-18 23:20发布

问题:

I'm trying to use assembly info patcher to create a version number something like:

1.2.3.1a3c19e

where the last bit is the git short hash.

I've tried using a powershell script build step to create the short hash (as I cant find a variable that has it) and adding this to a system variable but this build step appears to run after assembly info patcher, so isn't much use.

回答1:

If you want to write this to the Assembly Info field it can be done, but it requires a separate build configuration to generate the build number. The sole purpose of this step is to create the build number that has the hash appended to it.

1. Create a build configuration to generate the short hash

2. Add a step to generate the hash

3. Add a parameter to store the hash

4. Add a second build configuration and add a dependency to the first one

5. You can now consume the parameter in the dependent step

6. At this point you can use it in the assembly info patcher

The alternative to this is to write your build number back to Git using the VCS labeling build feature.

Hope this helps.



回答2:

If you mean .NET assembly you will not be able to use git's short hash as the revision number just because it accepts numbers only. You can check it yourself and put the version above to AssemblyVersion. I bet your app will not be compiled. Instead you can use %build.counter% variable from teamcity as the revision number.