命令行(脚本)
命令行 (位于 构建配置中)或 脚本 (位于 流水线中)是 TeamCity 中最灵活的构建步骤。 它在代理机器上直接运行命令,从而可与任何已安装的工具进行交互(例如 cURL、Homebrew、Python 或 Unreal Engine)。
您还可以将其作为特定工具的 TeamCity 步骤的替代方案使用。 例如,运行 mvn package 脚本,而不是使用带有 软件包 目标的 Maven 步骤。
步骤设置
脚本步骤设置及其对应的 UI 标签在配置构建配置或流水线时略有不同。
主要设置
- 运行
允许您在运行自定义脚本(在相应步骤设置字段中输入)或(当前仅适用于构建配置)启动具有所需参数的任意可执行文件之间进行选择。
脚本在类 Unix 环境中作为可执行脚本执行,在 Windows 上作为
*.cmd批处理文件执行。 在 Unix-like OS 下,脚本被保存为具有可执行位的状态,然后由 OS 执行。 在大多数系统上,此项默认为/bin/sh解释器。 如果您需要使用特定的解释器,将 shebang (例如,#!/bin/bash)指定为脚本的第一行。- 工作目录
构建步骤启动的目录。 默认情况下,这是代理签出远程资源的根目录。 有关更多信息,请参阅此主题: 构建工作目录。
高级设置
- 将 stderr 输出格式化为
允许您选择该步骤应如何处理错误输出。 可用选项:
错误 — 任何输出到
stderr会被视为错误。警告 (默认)— 任何输出到
stderr会被视为警告。
容器设置
此构建步骤可在由 Docker 或 Podman 部署的容器中运行。
传统构建配置步骤显示一组属性,允许您指定镜像名称、平台和附加运行参数。 显式拉取镜像 可确保 TeamCity 每次运行此步骤时都从目标容器拉取镜像。

要为 TeamCity 指定拉取镜像的注册表,请将 Docker/Podman 连接 添加到项目中。 默认情况下,此连接允许 TeamCity 以匿名模式从 Docker Hub 拉取镜像,但您可以将其配置为使用任何容器注册表。
有关更多信息,请参阅以下文章: 容器包装器。
启用 在 Docker 中运行 以在容器中运行步骤。 启用后,此元素会显示两个选项。

Docker 镜像 — 允许您从 Docker 或 Podman 注册表中拉取镜像。 默认情况下,TeamCity 可在匿名模式下从 Docker Hub 拉取镜像。 对于其他情况(私有镜像、自定义镜像注册表、非匿名模式以避免违反 Docker Hub 速率限制),请在流水线或作业级别配置 Docker 集成。
Dockerfile — 允许您从 Dockerfile 构建自定义镜像。
配置即代码
以下代码段展示了以 YAML (仅限流水线)和 Kotlin DSL 格式自定义的构建步骤。