← Back
JetBrains TV October 13, 2026 12m

TeamCity Cloud Getting Started: Create Your First CI/CD Pipeline

Read full transcript 10 segments
  1. TeamCity Cloud is a CI/CD TeamCity Cloud is a CI/CD service from JetBrains that service from JetBrains that service from JetBrains that automates the build automates the build , testing, and , testing, and , testing, and deployment of your deployment of your deployment of your code. TeamCity is also code. TeamCity is also code. TeamCity is also available for available for available for local local local deployment if you deployment if you deployment if you prefer prefer prefer self-hosting, self-hosting, self-hosting, but in this review we will but in this review we will but in this review we will use the cloud use the cloud use the cloud version. Let's version. Let's version. Let's create and create and create and run your first run your first run your first build pipeline. We'll build pipeline. We'll build pipeline. We'll start with a start with a start with a free free free trial, connect a trial, connect a trial, connect a GitHub repository, and GitHub repository, and GitHub repository, and set up a few set up a few set up a few simple tasks to simple tasks to simple tasks to build and test your build and test your build and test your code. At the end, code. At the end, code. At the end, you will have a working you will have a working you will have a working pipeline that looks like pipeline that looks like pipeline that looks like this, and you this, and you this, and you will know how will know how will know how to check to check to check the results of the first the results of the first the results of the first build. To get started, build. To get started, build. To get started, go to teamcity.com, go to teamcity.com, go to teamcity.com, click "try free" and click "try free" and click "try free" and choose a free choose a free choose a free 14-day trial 14-day trial . You can . You can . You can sign up using sign up using email email or one of the or one of the or one of the supported supported supported providers. For providers. For providers. For this review, we will this review, we will this review, we will use GitHub. use GitHub. use GitHub. Next, choose a domain Next, choose a domain Next, choose a domain name for your name for your name for your instance, instance, instance, for example myteam.teamcity.com. for example myteam.teamcity.com. for example myteam.teamcity.com. Continue on and TeamCity Continue on and TeamCity Continue on and TeamCity will set up your will set up your will set up your instance in a minute instance in a minute instance in a minute or two. Our or two. Our or two. Our TeamCity Cloud instance is ready. For TeamCity Cloud instance is ready. For TeamCity Cloud instance is ready. For this review, we will this review, we will this review, we will use Spring use Spring use Spring PetClinic, an example Java Spring PetClinic, an example Java Spring PetClinic, an example Java Spring application for application for application for managing a managing a managing a veterinary veterinary veterinary clinic. It already clinic. It already clinic. It already contains a customized contains a customized contains a customized build process and build process and build process and automated tests automated tests , so we can , so we can , so we can focus on focus on focus on running them in TeamCity.

  2. running them in TeamCity. Let's create a Let's create a project called project called project called PetClinic. Now we will add a PetClinic. Now we will add a PetClinic. Now we will add a pipeline and connect pipeline and connect pipeline and connect it to the it to the it to the Spring PetClinic repository fork Spring PetClinic repository fork . The pipeline describes the . The pipeline describes the . The pipeline describes the work we want to work we want to work we want to delegate to TeamCity. It delegate to TeamCity. It delegate to TeamCity. It contains tasks, and contains tasks, and contains tasks, and each task each task each task consists of one consists of one consists of one or more or more or more assembly steps. We will create assembly steps. We will create assembly steps. We will create our pipeline using the our pipeline using the visual visual editor, but you editor, but you editor, but you can also can also can also define and define and define and edit the entire edit the entire edit the entire pipeline in YAML. We will pipeline in YAML. We will pipeline in YAML. We will briefly consider briefly consider briefly consider this possibility this possibility this possibility later. We'll start later. We'll start later. We'll start with a task with a task with a task called "run called "run called "run tests". Let's add a tests". Let's add a tests". Let's add a Gradle stage and use the Gradle stage and use the Gradle stage and use the project's Gradle wrapper project's Gradle wrapper project's Gradle wrapper so that the build so that the build so that the build uses uses uses the version defined in the the version defined in the the version defined in the repository. For repository. For repository. For tasks, we will type " tasks, we will type " clean test" to clean test" to clean test" to compile compile compile the application and the application and the application and run its tests.

  3. run its tests. We also need a We also need a build agent—a machine build agent—a machine build agent—a machine or runner that or runner that or runner that performs the task. For performs the task. For performs the task. For this walkthrough, we will this walkthrough, we will this walkthrough, we will use the use the use the TeamCity cloud build agent with the TeamCity cloud build agent with the TeamCity cloud build agent with the Java version Java version Java version required for required for required for our project. our project. our project. Optionally, you Optionally, you Optionally, you can also set up can also set up can also set up your own (self-hosted) your own (self-hosted) your own (self-hosted) build agents in TeamCity. build agents in TeamCity. Let's save and Let's save and run it. TeamCity run it. TeamCity run it. TeamCity automatically automatically automatically downloads the code and downloads the code and downloads the code and runs our Gradle stage runs our Gradle stage . The build log . The build log . The build log shows what shows what shows what happens during the happens during the happens during the task execution. task execution. You can also You can also use the use the Performance Monitor to Performance Monitor to see how the see how the build agent's CPU, disk, and memory usage changes build agent's CPU, disk, and memory usage changes during the process. This will during the process. This will during the process. This will help you choose the help you choose the right size build agent right size build agent based on the actual based on the actual based on the actual needs of your needs of your needs of your project. TeamCity project. TeamCity project. TeamCity reports reports test results as they test results as they occur, so you can occur, so you can occur, so you can see which tests see which tests see which tests passed and which failed passed and which failed passed and which failed while the while the while the task is running, without waiting for task is running, without waiting for task is running, without waiting for it to complete. We'll it to complete. We'll it to complete. We'll skip ahead skip ahead skip ahead to see the to see the to see the result. Our tests result. Our tests result. Our tests were successful. We were successful. We were successful. We can view can view can view the results of individual the results of individual the results of individual tests directly tests directly tests directly in the tests tab without in the tests tab without in the tests tab without wasting time wasting time wasting time searching through the entire searching through the entire searching through the entire build log. Now build log. Now build log. Now let's expand this let's expand this let's expand this to a three- to a three- to a three- task pipeline. We will add a task pipeline. We will add a code review task to run the

  4. checks configured in the project. This checks configured in the project. This task doesn't have to task doesn't have to task doesn't have to wait for our tests, wait for our tests, wait for our tests, so they can so they can so they can run in run in run in parallel. For its parallel. For its parallel. For its Gradle step, we Gradle step, we Gradle step, we will run the will run the will run the clean, check style main, and check clean, check style main, and check clean, check style main, and check style test tasks. Next, we will add an style test tasks. Next, we will add an application packaging task to application packaging task to create an create an create an executable file. executable file. We will make this We will make this task dependent task dependent task dependent on both checks on both checks on both checks so that packaging so that packaging so that packaging only begins only begins only begins after they after they after they complete successfully. complete successfully. complete successfully. You can You can You can add dependencies by add dependencies by dragging and dropping, like dragging and dropping, like this, or by selecting this, or by selecting this, or by selecting a task and specifying a task and specifying a task and specifying its dependencies. For the its dependencies. For the application packaging task, we will add a application packaging task, we will add a Gradle step and configure Gradle step and configure Gradle step and configure it to run it to run it to run clean boot jar tasks. clean boot jar tasks. clean boot jar tasks. The tests already have their The tests already have their The tests already have their own task, so own task, so own task, so we don't need to we don't need to we don't need to run them run them run them again here. A single task again here. A single task again here. A single task can contain multiple can contain multiple can contain multiple assembly steps. After assembly steps. After assembly steps. After packaging the application, packaging the application, packaging the application, we will add a we will add a we will add a script step to script step to script step to generate a generate a generate a checksum of the JAR checksum of the JAR file. This will allow file. This will allow file. This will allow anyone anyone anyone downloading the artifact downloading the artifact downloading the artifact to verify its to verify its to verify its integrity.

  5. integrity. integrity. Notice how TeamCity Notice how TeamCity Notice how TeamCity recognizes the CD command in recognizes the CD command in recognizes the CD command in our script and our script and our script and suggests suggests suggests using that using that using that path as the working path as the working path as the working directory for the directory for the directory for the script. Accepting script. Accepting script. Accepting this suggestion this suggestion this suggestion simplifies the script by simplifies the script by simplifies the script by removing the CD command and removing the CD command and removing the CD command and moving the path to the moving the path to the moving the path to the working working working directory field. The steps directory field. The steps directory field. The steps are executed are executed are executed sequentially on the same sequentially on the same sequentially on the same build agent, so build agent, so build agent, so this step has access this step has access this step has access to the file created by the to the file created by the to the file created by the previous one. Finally, previous one. Finally, previous one. Finally, we will tell TeamCity we will tell TeamCity we will tell TeamCity to publish the to publish the to publish the generated JAR file generated JAR file generated JAR file and checksum file and checksum file and checksum file as as as build artifacts, defining the build artifacts, defining the build artifacts, defining the new artifacts in the new artifacts in the new artifacts in the source files. This source files. This source files. This gives us the gives us the gives us the pipeline output, available pipeline output, available pipeline output, available for download. for download. Let's run the Let's run the full pipeline. full pipeline. Notice how Notice how TeamCity reused TeamCity reused the results of the the results of the test task, as test task, as test task, as neither its configuration neither its configuration neither its configuration nor the code in the repository had nor the code in the repository had nor the code in the repository had changed since the changed since the changed since the previous previous previous run. TeamCity Cloud run. TeamCity Cloud run. TeamCity Cloud is capable of running is capable of running is capable of running multiple multiple multiple build agents as needed.

  6. build agents as needed. build agents as needed. Therefore, our tests and Therefore, our tests and Therefore, our tests and code reviews code reviews code reviews can run can run can run on separate on separate on separate build agents at the same time. The build agents at the same time. The build agents at the same time. The packaging task packaging task packaging task awaits the successful awaits the successful awaits the successful completion of both. We completion of both. We now have a now have a successful pipeline with successful pipeline with successful pipeline with test results, test results, test results, build logs, and a build logs, and a build logs, and a packaged packaged packaged application. We application. We application. We can download the JAR can download the JAR file and the file and the file and the verification files from the verification files from the verification files from the artifacts tab. Until now, artifacts tab. Until now, artifacts tab. Until now, we have been running we have been running we have been running our builds manually. our builds manually. our builds manually. Let's see Let's see Let's see what happens when we what happens when we what happens when we push changes to the push changes to the push changes to the repository. repository. Automatic builds Automatic builds are enabled for our are enabled for our are enabled for our master branch. So, master branch. So, master branch. So, we'll make a small we'll make a small we'll make a small change to GitHub to change to GitHub to change to GitHub to get the new get the new get the new process started. Once process started. Once process started. Once TeamCity detects the commit, TeamCity detects the commit, TeamCity detects the commit, it will start a new it will start a new it will start a new run. We can run. We can run. We can open this run open this run open this run to see how to see how to see how the changes are being tested, the changes are being tested, the changes are being tested, monitor the progress, monitor the progress, monitor the progress, and examine the results. and examine the results. After several After several runs of the pipeline, we runs of the pipeline, we runs of the pipeline, we can also can also can also review the history of an review the history of an review the history of an individual test to individual test to individual test to see if it see if it see if it passed, and passed, and passed, and use use use test profiling test profiling test profiling to track how to track how to track how its execution time changed its execution time changed its execution time changed . Before we . Before we . Before we wrap up, let's wrap up, let's wrap up, let's briefly look at briefly look at briefly look at a few options to a few options to a few options to explore as explore as explore as your your your pipeline evolves. In the pipeline evolves. In the pipeline settings, you can pipeline settings, you can define options define options define options for for for reusing values reusing values reusing values across tasks and across tasks and across tasks and storing storing storing sensitive data, sensitive data, sensitive data, such as passwords and such as passwords and such as passwords and access tokens, as

  7. access tokens, as access tokens, as secrets. You secrets. You secrets. You can also add can also add can also add integrations with integrations with integrations with external services external services , such as a , such as a , such as a private NPM registry private NPM registry private NPM registry for your packages or a for your packages or a for your packages or a Docker registry for Docker registry for Docker registry for your your your container images. container images. container images. Each task has Each task has Each task has options that help options that help options that help reduce assembly time. reduce assembly time. reduce assembly time. We have already seen how We have already seen how We have already seen how individual tasks individual tasks individual tasks are executed are executed are executed in parallel. With in parallel. With in parallel. With parallel tests, parallel tests, parallel tests, TeamCity can split TeamCity can split TeamCity can split Gradle, Maven, Gradle, Maven, Gradle, Maven, or .NET test suites into batches and or .NET test suites into batches and or .NET test suites into batches and execute them on execute them on execute them on multiple available multiple available multiple available build agents. This is build agents. This is build agents. This is useful when your useful when your useful when your test suite test suite test suite grows and grows and grows and takes longer takes longer takes longer to execute. to execute. Dependency caching Dependency caching can also speed up can also speed up can also speed up subsequent runs subsequent runs subsequent runs by reusing by reusing loaded loaded dependencies, such as dependencies, such as dependencies, such as those those those used in used in used in Gradle and Maven. This Gradle and Maven. This Gradle and Maven. This avoids avoids avoids downloading the same downloading the same downloading the same files from files from files from remote remote remote repositories for repositories for repositories for each build. You each build. You each build. You can also can also can also run the run the run the build step inside a build step inside a build step inside a Docker container. Docker container. Docker container. Specify an image name Specify an image name Specify an image name and tag, or provide a and tag, or provide a and tag, or provide a Dockerfile to create Dockerfile to create Dockerfile to create your own image. While your own image. While your own image. While TeamCity cloud agents TeamCity cloud agents TeamCity cloud agents come with a come with a come with a wide selection of wide selection of wide selection of tools, this tools, this tools, this allows you allows you allows you to specify the to specify the to specify the tools and their tools and their tools and their versions you need, helping versions you need, helping versions you need, helping to maintain the to maintain the to maintain the stability of your stability of your stability of your environment. These options environment. These options environment. These options allow us allow us allow us to evolve the to evolve the to evolve the pipeline we created as pipeline we created as pipeline we created as your project needs change your project needs change your project needs change . We created . We created . We created this pipeline this pipeline this pipeline using a using a using a visual editor.

  8. visual editor. visual editor. You can also You can also You can also switch to the YAML switch to the YAML editor to editor to editor to view and view and view and edit its edit its edit its definition as code. definition as code. definition as code. This code can be This code can be This code can be stored and stored and stored and synchronized with a synchronized with a synchronized with a GitHub repository, GitHub repository, GitHub repository, allowing you to modify the allowing you to modify the allowing you to modify the pipeline pipeline pipeline directly from directly from directly from your IDE. Now our your IDE. Now our your IDE. Now our pipeline checks pipeline checks pipeline checks the code, runs the code, runs the code, runs automated tests, automated tests, automated tests, and packages the application and packages the application and packages the application after after after both both both tasks have been successfully completed. It also tasks have been successfully completed. It also tasks have been successfully completed. It also runs runs runs automatically when we automatically when we automatically when we submit changes. submit changes. submit changes. Once your pipeline Once your pipeline Once your pipeline is up and running, you can is up and running, you can is up and running, you can work with TeamCity work with TeamCity work with TeamCity through a terminal, IDE, or through a terminal, IDE, or through a terminal, IDE, or AI agent for AI agent for AI agent for programming. programming. Let's start with TeamCity CLI. We Let's start with TeamCity CLI. We will install it. will install it. Then we will log in to our Then we will log in to our TeamCity Cloud instance. TeamCity Cloud instance. When you log in, we When you log in, we will accept the default permissions will accept the default permissions will accept the default permissions . After . After . After that, a browser window will open that, a browser window will open asking you to authorize asking you to authorize TeamCity CLI to access TeamCity CLI to access TeamCity CLI to access our instance. We our instance. We our instance. We will run the will run the will run the TeamCity command to see the TeamCity command to see the TeamCity command to see the available options. To available options. To available options. To get a full get a full get a full list of commands, you can list of commands, you can list of commands, you can run TeamCity-h.

  9. run TeamCity-h. After connecting, we After connecting, we can get can get can get the results of the results of the results of our pipeline execution. our pipeline execution. View View test results. And test results. And test results. And explore explore explore build logs without build logs without build logs without opening a browser. opening a browser. AI agents can AI agents can also also use CLI for programming. use CLI for programming. Agent skills Agent skills Agent skills provide guidance provide guidance provide guidance on working with TeamCity, on working with TeamCity, on working with TeamCity, including helping to including helping to including helping to port port port workflows from other CI/CD workflows from other CI/CD workflows from other CI/CD tools. Currently, tools. Currently, tools. Currently, GitHub GitHub GitHub Actions and Bamboo are supported, with Actions and Bamboo are supported, with Actions and Bamboo are supported, with more more more options coming soon. You can find a link options coming soon. You can find a link options coming soon. You can find a link to the TeamCity CLI and to the TeamCity CLI and setup instructions setup instructions in the description. in the description. TeamCity also includes a TeamCity also includes a built-in MCP server, built-in MCP server, built-in MCP server, giving compatible AI giving compatible AI tools another tools another tools another way to connect, way to connect, way to connect, validate builds, and validate builds, and validate builds, and help help help investigate failures. investigate failures. For example, you can For example, you can create a read-only access token in TeamCity create a read-only access token in TeamCity . Then . Then use it use it use it to connect to connect your IDE's AI assistant your IDE's AI assistant your IDE's AI assistant to the TeamCity MCP server.

  10. to the TeamCity MCP server. to the TeamCity MCP server. After that, you After that, you After that, you can ask can ask can ask questions about your questions about your questions about your builds directly builds directly builds directly in the AI ​​chat. Additionally, with the in the AI ​​chat. Additionally, with the TeamCity CLI installed and authenticated, a compatible AI programming agent can programming agent can use it use it use it to interact with TeamCity. The to interact with TeamCity. The to interact with TeamCity. The corresponding corresponding corresponding agent skill contains agent skill contains agent skill contains instructions for instructions for instructions for using the CLI. If using the CLI. If using the CLI. If you use the you use the you use the JetBrains IDE, the TeamCity plugin JetBrains IDE, the TeamCity plugin JetBrains IDE, the TeamCity plugin also allows you also allows you also allows you to check the to check the to check the pipeline status and pipeline status and pipeline status and view view view test results test results test results directly in the IDE. directly in the IDE. directly in the IDE. So you can keep an eye So you can keep an eye So you can keep an eye on your builds on your builds on your builds while you work on your while you work on your while you work on your code. Now you are code. Now you are code. Now you are ready to apply the same ready to apply the same ready to apply the same approach to your approach to your approach to your own project. own project. own project. Thank you for watching.

No summary available yet.

View original episode ↗