TeamCity Pipelines Help

Job Settings

This article explains the settings available in the side panel when you click a Job.

Dependencies

This section allows you to specify the Job order and exchange published files between Jobs.

Tick a checkbox next to the name of a Job that should precede the current Job. The visual graph will reflect this updated Job order.

Specify Job Dependencies

In YAML, Jobs are arranged according to the execution order.

name: My App jobs: Job1: name: Runs First steps: ... Job2: name: Runs Second steps: ...

If a preceding Job publishes any artifacts, a dependent Job automatically downloads these artifacts to its own working directory. This technique enables a hassle-free file sharing and allows you to quickly set up delivery pipelines (for example, a file generated by a building Job A can then be published by a separate Job B).

If you do not want a dependent Job to obtain artifacts from its predecessor, choose the Ignore artifacts option in the Use artifacts pop-up.

Add dependent Job

Dependencies and artifact import rules can also be customized using the interactive Visual Editor.

Optimizations

This section contains settings that can affect your Job performance. See this help article for more information: Pipeline Optimization.

Run On

An agent is a piece of software that listens for the commands from the building server and carries out the actual build processes. TeamCity Pipelines offers two agent options:

  • JetBrains-hosted agents are cloud agents that are configured and maintained by JetBrains. They are started on-demand when a Job needs to be run and halted after a certain delay when the build queue is empty. This option is immediately available for any new Pipelines instance. Click the "Available software" link to learn more about different types of JetBrains-hosted agents.

    JB-hosted agents
  • The Self-hosted tab allows you to utilize custom machines connected to the Pipelines server. See this article for more information: Self-Hosted Build Agents.

    Add agent requirement

Artifacts

This section allows you to specify paths to files and folders that should be available for subsequent Jobs. Use the asterisk (*) as a wildcard for all files within the given directory.

For example, the following setting publishes the "<checkout_folder>/logs/build.log" file and the "<checkout_folder>/packages" directory:

Publish Gradle artifacts

All dependent Jobs can download published files and copy them to these Jobs' checkout directories. See the following article for the example: Create a Multi-Job Pipeline.

Dependencies and artifact import rules can also be customized using the interactive Visual Editor.

Repositories

If you set up more than one Repository in the Pipeline settings, use toggles in this section to choose which of the repositories the current Job should check out.

Choose active repos

Note that all repositories except for the initial one are checked out to individual subfolders. Steps that use source files of these repositories should have their Working directory settings pointing to the same subfolder.

Integrations

This section allows you to enable and disable Docker and NPM integrations set up in the Pipeline settings.

Pipeline Integrations in Jobs

You can also create new integration directly in Job settings. These integrations are initially unavalable for other Jobs inside the same Pipeline.

Last modified: 22 August 2024