Git-deliver环境变量参考:解锁自定义部署流程的强大能力 Git-deliver环境变量参考解锁自定义部署流程的强大能力【免费下载链接】git-deliverDelivery system based on git push and ssh项目地址: https://gitcode.com/gh_mirrors/gi/git-deliverGit-deliver是一款基于Git推送和SSH的部署系统通过环境变量可以灵活定制部署流程。本文将详细介绍常用环境变量及其应用场景帮助新手用户快速掌握自定义部署的核心技巧。核心环境变量详解部署路径与版本控制DELIVERY_PATH指定远程服务器上的部署目录路径默认值从远程仓库URL解析。例如在deliver.sh中定义为export DELIVERY_PATH${DELIVERY_PATH:-}可用于在脚本中精确定位部署位置如presets/yisti/post-checkout/02-deploy.remote.sh中使用cd $DELIVERY_PATHVERSION_SHA当前部署版本的Git提交哈希值自动从Git仓库获取。在deliver.sh中通过以下方式设置export VERSION_SHA${VERSION_SHA:-}常用于版本标识和缓存管理如生成唯一缓存目录cp -r $MAINCACHEDIR$DELIVERY_PATH/$PREVIOUS_VERSION $MAINCACHEDIR$DELIVERY_PATH/$CURRENT_VERSION远程服务器配置REMOTE_SERVER远程服务器地址含用户名格式为userhost。在deliver.sh中通过解析Git远程URL自动设置export REMOTE_SERVER$REMOTE_SERVER用于SSH连接和远程命令执行如tests.sh中的测试场景REMOTE_SERVER$SSH_TEST_USER$SSH_TEST_HOST run_remote pwdREMOTE_PATH远程服务器上的仓库根路径默认从Git远程URL提取。在deliver.sh中定义export REMOTE_PATH$REMOTE_PATH用于构建完整的远程文件路径如磁盘空间检查脚本presets/core/pre-delivery/01-disk-space.shFREE_KBYTESrun_remote df -k \$REMOTE_PATH\ | awk /[0-9]%/{print \\\$(NF-2)}部署流程控制DELIVERY_STAGE当前执行的部署阶段可选值包括pre-delivery、post-checkout、pre-symlink等。在deliver.sh中动态设置DELIVERY_STAGEpre-symlink用于条件执行不同阶段的脚本如判断是否执行回滚阶段if [[ $DELIVERY_STAGE ! rollback-pre-symlink ]]; then LAST_STAGE_REACHED$DELIVERY_STAGE fiIS_ROLLBACK标记是否处于回滚模式布尔值true/false。在deliver.sh中定义export IS_ROLLBACK$IS_ROLLBACK用于在部署脚本中区分正常部署和回滚操作例如调整缓存策略或跳过某些构建步骤。实用场景示例1. 自定义部署目录通过设置DELIVERY_PATH覆盖默认部署路径DELIVERY_PATH/var/www/custom-app git deliver origin main2. 限制部署阶段指定只执行特定阶段的脚本DELIVERY_STAGEpost-symlink git deliver origin main3. 调试远程连接通过REMOTE_SERVER和GIT_SSH调试SSH连接问题GIT_SSH./deliver_ssh_wrapper.sh REMOTE_SERVERdebugexample.com git deliver origin main环境变量优先级说明Git-deliver环境变量遵循以下优先级从高到低命令行直接设置如VARvalue git deliver项目配置文件.deliver/config系统环境变量默认值在deliver.sh中定义常用环境变量速查表变量名作用示例值DELIVERY_DATE部署时间戳2023-10-05_14-30-22REMOTE_PROTO远程连接协议ssh/localFAILED_SCRIPT失败脚本路径pre-delivery/01-check.shGIT_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),仅供参考