CD pipeline with Teamcity CI

Answered

Hello

Disclaimer: noob questions

We have a very specific type of pipeline and so far after evaluation of several tools, only Jenkins has been able to do it successfully.

Before I evaluate Teamcity, I wanted to understand if this can be accommodated.

 

We are currently on Gitlab CE soon moving to Bitbucket (on-prem)

We use feature branch model of Git.

When a dev pushes code to a feature branch, we want to kick off the build.

The build spawns a container, copies code there and runs a series of tests.

If the tests pass, that code is copied to a server for manual validation (manual step).

Here there tester needs a manual step (clickable action) to say whether his tests passed or failed.

If they pass, it copies the code to UAT.

UAT testing is also manual as would be same as above.

If tests pass in UAT, we have a final place to copy the code and another manual step.

If tester passes this last step, we merge to master.

Hence there are 3 manual steps in this pipeline.

 

Question is, can this be done cleanly with Teamcity?
Can I see some examples, images, videos?
How are pipelines configured? Does Teamcity have pipeline as code (YAML based or something else?)

 

Thank you

3 comments

Hello,

Yes, the described pipeline can be configured in TeamCity.

TeamCity fully supports Git and feature branches. See "TeamCity Feature Branches with Git" video.

There are different types of triggers supported in TeamCity. If you want to trigger build on VCS changes, you can use VCS trigger.

Another important concept in TeamCity are snapshot dependencies. You can configure build chains using snapshot dependencies. A snapshot dependency is a dependency between two build configurations that allows launching builds from both build configurations in a specific order and ensure they use the same sources snapshot (sources revisions corresponding to the same moment). For more details see https://confluence.jetbrains.com/display/TCD10/Build+Dependencies+Setup. You can configure builds in chain to trigger automatically, only if all previous builds finished successfully.

Also builds can be triggered manually and promoted. For more details see https://confluence.jetbrains.com/display/TCD10/Triggering+a+Custom+Build.

You can automatically merge successful build using Automatic Merge feature in TeamCity.

You can use Kotlin DSL to define settings programmatically in IntelliJ IDEA.

Please review Getting started videos and webinars, blog and documentation.

If you have any further questions, please feel free to ask.

0

Alina,

Thank you for your response.

So the answer to my question of Pipeline as Code is Kotlin DSL? just making sure.

Thank you!

0

Hi, 

Yes, please use Kotlin DSL to define pipelines as code.

0

Please sign in to leave a comment.