跳到主要内容
gitee logo

主机执行插件文档

表单参数说明

  • 执行主机组:下拉选择需执行脚本的主机组,需提前在管理页面进行主机纳管。

  • 脚本类型:下拉选择要执行的脚本语言类型,支持 Shell、Bat、Powershell(目前仅在阿里云导入的机器支持) 等常见类型。示例:选择“Shell”执行 Linux 命令脚本。

  • 执行命令:输入在目标主机上运行的脚本内容,支持通过 {参数Key} 引用流水线全局变量或自定义变量。示例:

    # 打印构建编号并检查磁盘空间
    echo "当前构建编号:${GITEE_PIPELINE_BUILD_NUMBER}"
    df -h
  • 是否克隆代码:开关选择是否自动克隆关联的 Gitee 代码仓库到执行主机。开启前需确保主机已配置 SSH Key(公钥需添加到 Gitee 仓库/个人密钥中),否则会因权限不足导致克隆失败。默认关闭。

使用技巧

  1. 主机组配置前提:使用前需在平台中完成主机组创建及 SSH 连接配置,否则无法选择执行目标。

  2. 变量引用规范:在“执行命令”中通过 ${变量名} 调用全局变量,例如 ${GITEE_PROJECT_NAME} 获取项目名称、${BUILD_ID} 获取构建ID。

  3. 脚本调试建议:复杂脚本建议先在目标主机手动执行验证逻辑,避免因语法错误或环境差异导致执行失败。

  4. 权限控制说明:执行脚本的权限取决于主机配置的 SSH 登录用户权限,如需操作敏感目录(如 /root),需确保登录用户有足够权限。

典型流程示例

常见场景示例

  • 远程部署:通过脚本将构建产物上传到主机并启动服务

    # 复制打包文件到主机部署目录
    scp ./target/app.jar admin@192.168.1.100:/opt/deploy/
    # 远程执行启动命令
    ssh admin@192.168.1.100 "cd /opt/deploy && java -jar app.jar &"
  • 前置检查:在部署前验证主机状态

    # 检查内存使用率(超过80%则退出)
    ssh admin@192.168.1.100 "free -h | awk '/Mem/ {if(\$3/\$2*100>80) exit 1}'"