Step Settings
Steps are elemental building blocks of a TeamCity Pipeline. Each step encapsulates one or multiple simple operations to be performed (for instance, downloading required packages and/or building a project in the "Debug" configuration). TeamCity offers various Step types designed for specific project platforms. To choose a required Step type, use the corresponding selector in the Job Settings pane.

Currently, TeamCity ships with the following Step types:
note
During next release cycles, we expect to expand this list and support .NET, Ant, Python, and other Step types implemented in TeamCity Cloud.
The following settings are available for all types of Steps.
This setting allows you to run Steps inside Docker containers. Do so if you need a custom software that is not installed on JetBrains-hosted TeamCity agents. See the following help article for the example: Create a Single-Job Pipeline.
When the Docker Image mode is selected, you can enter a name of the image that should be pulled from a registry (for example, from Docker Hub). The tool looks for public Docker Hub images and images in private registries accessed via existing integrations to show automatic suggestions as you type.

If no ready-to-use image is available, you can assemble your own using commands. To do so, switch the mode selector to Dockerfile and choose whether the Step should assemble an image using commands specified directly in its settings, or utilize a Dockerfile stored in the remote repository.

Specify a subdirectory of a project to limit this Step to this subdirectory. If a Job uses the Sparse Checkout, only Step working directories are indexed. This allows Jobs to avoid cloning heavy monorepos where the majority of files remain unchanged.
See this tutorial for an example: Create a Multi-Job Pipeline.
Thanks for your feedback!