Teamcity maven release
Hello
We have multiple build configurations on our TC Server.
We are currently creating a second build configuration for each of these just for the release.
https://d-fens.ch/2015/06/19/howto-maven-release-on-jetbrains-teamcity/
Unfortunately, it is very annoying to create a second configuration for all existing ones just for the release.
Is there no plugin that can help us?
In Jenkins, we used the maven release plugin which was great.
https://wiki.jenkins.io/display/JENKINS/M2+Release+Plugin
We've already tried the jFrog plugin but it doesn't use the maven goals. (release:prepare, release:perform)
https://www.jfrog.com/confluence/display/RTF/TeamCity+Artifactory+Plug-in
Please help us.
Thanks
Please sign in to leave a comment.
Hi Marc,
I'm afraid that I'm unaware of such a plugin. There are three main methods to do achieve this using teamcity features without third party tooling:
-Use the Kotlin DSL to store the settings in version control. This allows you to generate this settings programatically and thus creating a copy of one would be much simpler: https://www.jetbrains.com/help/teamcity/kotlin-dsl.html . This would probably be the easiest way to accomplish it.
-TeamCity stores the project configuration files as XML files. You could set up a script that copies the files altering the required fields (ID, name, etc) and teamcity will pick it up shortly. Depending on the amount of projects this might vary from a couple seconds to a few minutes. This could also be combined with storing the settings in project control in XML format to avoid modifying the files directly on the working directory without having a backup or versioning system.
-For each build configuration, you can create a build configuration template out of it: https://www.jetbrains.com/help/teamcity/build-configuration-template.html#BuildConfigurationTemplate-Overview. This will allow you to generate new configs based on the template which would share all the configuration, reducing the overhead of having to go through creating the new ones.
Hope this helps.