1、Jenkins Shell构建环境变量全解析
jnekins Shell构建建步骤预定义的环境变量清单,这些变量可直接在构建脚本(如 Shell 脚本、Windows 批处理)中引用,用于实现动态化、个性化的构建逻辑。
| 变量名 | 含义 | 实战场景 |
| BRANCH_NAME | 构建的分支名(PR 构建时可能显示为PR-24这类格式) | 例:仅允许master/main分支部署生产环境if [ "$BRANCH_NAME" = "master" ]; then 部署生产; fi |
| BRANCH_IS_PRIMARY | 是否为主分支(主分支则为true,否则未定义) | 例:主分支构建后自动打 Tagif [ "$BRANCH_IS_PRIMARY" = "true" ]; then git tag v1.0.$BUILD_NUMBER; fi |
| CHANGE_ID | PR/MR 编号(如 GitHub PR 号) | 例:将 PR 号写入构建日志,便于追溯echo "当前构建 PR 编号:$CHANGE_ID" |
| CHANGE_TARGET | PR/MR 要合并的目标分支(如master) | 例:PR 合并到测试分支时自动跑测试if [ "$CHANGE_TARGET" = "test" ]; then mvn test; fi |
| CHANGE_BRANCH | PR 源分支名(如 GitHub 上的feature/xxx,区别于BRANCH_NAME) | 例:基于源分支名构建镜像标签docker build -t app:$CHANGE_BRANCH-$BUILD_NUMBER |
TAG_NAME/TAG_TIMESTAMP | 构建的 Tag 名 / Tag 时间戳(仅 Tag 构建时生效) | 例:Tag 构建时打镜像版本docker build -t app:$TAG_NAME . |