/Release/v0.1.0
SSH Deploy 是一款轻量级的通用部署工具,可通过 SSH 实现构建产物的安全传输与远程脚本执行,支持多种 CI/CD 平台和部署场景。
scp 传输构建产物(文件/目录)screen 模式,任务不中断- 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'
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 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