TC agents with locally cloned 'build script repo'?

Answered

For the purposes of making build server configuration easier to diff, easier to test and easier to reproduce on a development machine, I would like to push as much script functionality as possible out of the build configurations and into scripts that can be checked into source control like any other piece of code.

Next, cloned repos of the build scripts would be added to each build agent where they could then be referenced from the actual TeamCity build steps.

It is likely that the first step of each build would be to pull down the latest changes from this build repo and then start executing scripts.

Does this strategy make sense?

Is there a plugin or other tool that simplifies this process?

Thanks,


Rob.

1 comment

Hello Rob,

The described approach will help to reproduce builds locally. However it'll make build results reporting more complicated. The main feature of the TeamCity build runners is that they report results to TeamCity server, e.g. test reports, code coverage results, etc. If you put all your build scripts into the repository and run them e.g. using Command Line build step, you would need to report tests progress to TeamCity from the build via service messages or generate one of the supported XML reports in the build. Also, see notes on integrating with various reporting/metric tools.

Regarding having settings history and seeing diff, you can store TeamCity project settings in VCS in XML or DSL format. For more details please see https://confluence.jetbrains.com/display/TCD10/Storing+Project+Settings+in+Version+Control.

 

1

Please sign in to leave a comment.