mirror of
https://github.com/appleboy/drone-ssh.git
synced 2025-11-01 01:00:11 +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.0 KiB
4.0 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.ymlDrone 設定檔。
後面的來源會覆蓋前面的設定。例如,.env 檔案中的 PORT 會覆蓋 main.go 的預設值。


