Git-deliver环境变量参考:解锁自定义部署流程的强大能力
2026/9/1 12:44:27 网站建设 项目流程

Git-deliver环境变量参考:解锁自定义部署流程的强大能力

【免费下载链接】git-deliverDelivery system based on git push and ssh项目地址: https://gitcode.com/gh_mirrors/gi/git-deliver

Git-deliver是一款基于Git推送和SSH的部署系统,通过环境变量可以灵活定制部署流程。本文将详细介绍常用环境变量及其应用场景,帮助新手用户快速掌握自定义部署的核心技巧。

核心环境变量详解

部署路径与版本控制

DELIVERY_PATH
指定远程服务器上的部署目录路径,默认值从远程仓库URL解析。例如在deliver.sh中定义为:

export DELIVERY_PATH="${DELIVERY_PATH:-}"

可用于在脚本中精确定位部署位置,如presets/yisti/post-checkout/02-deploy.remote.sh中使用:

cd "$DELIVERY_PATH"

VERSION_SHA
当前部署版本的Git提交哈希值,自动从Git仓库获取。在deliver.sh中通过以下方式设置:

export VERSION_SHA="${VERSION_SHA:-}"

常用于版本标识和缓存管理,如生成唯一缓存目录:

cp -r "$MAINCACHEDIR$DELIVERY_PATH/$PREVIOUS_VERSION" "$MAINCACHEDIR$DELIVERY_PATH/$CURRENT_VERSION"

远程服务器配置

REMOTE_SERVER
远程服务器地址(含用户名),格式为user@host。在deliver.sh中通过解析Git远程URL自动设置:

export REMOTE_SERVER="$REMOTE_SERVER"

用于SSH连接和远程命令执行,如tests.sh中的测试场景:

REMOTE_SERVER="'$SSH_TEST_USER@$SSH_TEST_HOST'" run_remote "pwd"

REMOTE_PATH
远程服务器上的仓库根路径,默认从Git远程URL提取。在deliver.sh中定义:

export REMOTE_PATH="$REMOTE_PATH"

用于构建完整的远程文件路径,如磁盘空间检查脚本presets/core/pre-delivery/01-disk-space.sh

FREE_KBYTES=`run_remote "df -k \"$REMOTE_PATH\" | awk '/[0-9]%/{print \\\$(NF-2)}'"`

部署流程控制

DELIVERY_STAGE
当前执行的部署阶段,可选值包括pre-deliverypost-checkoutpre-symlink等。在deliver.sh中动态设置:

DELIVERY_STAGE="pre-symlink"

用于条件执行不同阶段的脚本,如判断是否执行回滚阶段:

if [[ "$DELIVERY_STAGE" != "rollback-pre-symlink" ]]; then LAST_STAGE_REACHED="$DELIVERY_STAGE" fi

IS_ROLLBACK
标记是否处于回滚模式,布尔值(true/false)。在deliver.sh中定义:

export IS_ROLLBACK="$IS_ROLLBACK"

用于在部署脚本中区分正常部署和回滚操作,例如调整缓存策略或跳过某些构建步骤。

实用场景示例

1. 自定义部署目录

通过设置DELIVERY_PATH覆盖默认部署路径:

DELIVERY_PATH="/var/www/custom-app" git deliver origin main

2. 限制部署阶段

指定只执行特定阶段的脚本:

DELIVERY_STAGE="post-symlink" git deliver origin main

3. 调试远程连接

通过REMOTE_SERVERGIT_SSH调试SSH连接问题:

GIT_SSH="./deliver_ssh_wrapper.sh" REMOTE_SERVER="debug@example.com" git deliver origin main

环境变量优先级说明

Git-deliver环境变量遵循以下优先级(从高到低):

  1. 命令行直接设置(如VAR=value git deliver
  2. 项目配置文件(.deliver/config
  3. 系统环境变量
  4. 默认值(在deliver.sh中定义)

常用环境变量速查表

变量名作用示例值
DELIVERY_DATE部署时间戳2023-10-05_14-30-22
REMOTE_PROTO远程连接协议ssh/local
FAILED_SCRIPT失败脚本路径pre-delivery/01-check.sh
GIT_DELIVER_PATH工具安装路径/usr/local/git-deliver

通过灵活配置这些环境变量,你可以轻松定制符合项目需求的部署流程,实现从代码提交到生产环境的无缝交付。

【免费下载链接】git-deliverDelivery system based on git push and ssh项目地址: https://gitcode.com/gh_mirrors/gi/git-deliver

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询