logo
1
1
Login

/Release/v0.1.0

v0.1.0
latest
OverviewDeployMetadata

🚀 SSH Deploy v0.1.0 发布说明

SSH Deploy 是一款轻量级的通用部署工具,可通过 SSH 实现构建产物的安全传输与远程脚本执行,支持多种 CI/CD 平台和部署场景。

✨ 核心功能

  • 🔐 安全 SSH 连接,支持跳板机
  • 📦 支持通过 scp 传输构建产物(文件/目录)
  • 🛠️ 支持远程部署脚本自动执行
  • 🖥️ 可选 screen 模式,任务不中断
  • ⚙️ 支持环境变量、YAML、Docker 多种配置方式

✅ 兼容平台

  • GitHub Actions
  • CNB 云原生构建平台(cnb.cool
  • GitLab CI、Jenkins、Travis、CircleCI、Drone 等
  • 任意支持 Docker 的 CI/CD 系统

🧩 CI 使用示例

GitHub Actions

- name: Deploy via SSH
  uses: falling42/ssh-deploy@v0.1.0
  with:
    ssh_host: ${{ secrets.SSH_HOST }}
    ssh_user: ${{ secrets.SSH_USER }}
    ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
    transfer_files: 'yes'
    source_file_path: './build/app.jar'
    destination_path: '/var/www/app/'
    execute_remote_script: 'yes'
    copy_script: 'yes'
    source_script: 'scripts/deploy.sh'
    deploy_script: '/var/www/scripts/deploy.sh'

CNB 云原生构建示例

main:
  push:
    pipeline:
      stages:
        - name: Deploy via SSH
          image: docker.cnb.cool/falling42/ssh-deploy:v0.1.0
          settings:
            ssh_host: ${SSH_HOST}
            ssh_user: ${SSH_USER}
            ssh_private_key: ${SSH_PRIVATE_KEY}
            transfer_files: 'yes'
            source_file_path: './build/app.jar'
            destination_path: '/var/www/app/'
            execute_remote_script: 'yes'
            copy_script: 'yes'
            source_script: 'scripts/deploy.sh'
            deploy_script: '/var/www/scripts/deploy.sh'

🐳 Docker 命令行示例

docker run --rm \
  -e PLUGIN_SSH_HOST=your.remote.host \
  -e PLUGIN_SSH_USER=root \
  -e PLUGIN_SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" \
  -e PLUGIN_TRANSFER_FILES=yes \
  -e PLUGIN_SOURCE_FILE_PATH=/workspace/build/app.jar \
  -e PLUGIN_DESTINATION_PATH=/opt/apps/my-app/ \
  -e PLUGIN_EXECUTE_REMOTE_SCRIPT=yes \
  -e PLUGIN_COPY_SCRIPT=yes \
  -e PLUGIN_SOURCE_SCRIPT=/workspace/scripts/deploy.sh \
  -e PLUGIN_DEPLOY_SCRIPT=/opt/apps/my-app/deploy.sh \
  -e PLUGIN_SERVICE_NAME=my-app \
  -e PLUGIN_SERVICE_VERSION=1.0.0 \
  -v $(pwd):/workspace \
  falling42/ssh-deploy:v0.1.0

开源协议: Apache 2.0
作者: falling42

Attachment
2025-05-07 15:28:02
2025-05-07 15:28:02