mirror of
https://github.com/appleboy/drone-ssh.git
synced 2025-05-06 18:02:48 +08:00

- Add a Table of Contents section to the English, Simplified Chinese, and Traditional Chinese README files Signed-off-by: appleboy <appleboy.tw@gmail.com>
4.1 KiB
4.1 KiB
drone-ssh
Drone 插件,可通过 SSH 在远程主机执行命令。使用方法和可用选项请参考官方文档。
注意:请将 Drone 的 image config 路径更新为 appleboy/drone-ssh
。plugins/ssh
已不再维护。
目录
重大变更
v1.5.0
:将命令超时参数更改为 Duration
格式。设置示例如下:
pipeline:
scp:
image: ghcr.io/appleboy/drone-ssh
settings:
host:
- example1.com
- example2.com
username: ubuntu
password:
from_secret: ssh_password
port: 22
- command_timeout: 120
+ command_timeout: 2m
script:
- echo "Hello World"
构建或下载二进制文件
可在发布页面下载预编译的二进制文件,支持以下操作系统:
- Windows amd64/386
- Linux arm/amd64/386
- macOS (Darwin) amd64/386
如已安装 Go
,可执行:
go install github.com/appleboy/drone-ssh@latest
或使用以下命令手动构建二进制文件:
export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
export GO111MODULE=on
go test -cover ./...
go build -v -a -tags netgo -o release/linux/amd64/drone-ssh .
Docker
可使用以下命令构建 Docker 镜像:
make docker
使用方法
在工作目录下执行:
docker run --rm \
-e PLUGIN_HOST=foo.com \
-e PLUGIN_USERNAME=root \
-e PLUGIN_KEY="$(cat ${HOME}/.ssh/id_rsa)" \
-e PLUGIN_SCRIPT=whoami \
-v $(pwd):$(pwd) \
-w $(pwd) \
ghcr.io/appleboy/drone-ssh
通过文件路径挂载密钥
请确保已在项目设置中启用 trusted
模式(适用于 Drone 0.8 版本)。
在 .drone.yml
配置文件的 volumes
部分挂载私钥:
pipeline:
ssh:
image: ghcr.io/appleboy/drone-ssh
host: xxxxx.com
username: deploy
+ volumes:
+ - /root/drone_rsa:/root/ssh/drone_rsa
key_path: /root/ssh/drone_rsa
script:
- echo "test ssh"
详情请参考 此 issue comment。
配置说明
更多示例和完整配置选项请参考 DOCS.md。
配置选项来源如下:
- 内置 drone-ssh 默认值。详见 main.go CLI Flags。
- 由
PLUGIN_ENV_FILE
环境变量指定的 dotenv 文件。 .drone.yml
Drone 配置文件。
后面的来源会覆盖前面的设置。例如,.env
文件中的 PORT
会覆盖 main.go 的默认值。