5 Commits

Author SHA1 Message Date
6f091cd9e3 chore(ssh): remove comma splitting
Some checks failed
remote ssh command / Build (push) Failing after 4s
fix https://github.com/appleboy/ssh-action/issues/10
2019-11-21 11:10:52 +08:00
aa1ecdd19a update doc
Some checks failed
remote ssh command / Build (push) Failing after 3s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2019-09-30 16:55:40 +08:00
bffdd4e1f4 chore(ssh): set default port as 22
fix: https://github.com/appleboy/ssh-action/issues/5

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2019-09-30 16:54:44 +08:00
f4890bec77 update action link
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2019-09-30 11:35:28 +08:00
9aaf218321 docs: update readme 2019-09-29 14:16:47 +08:00
4 changed files with 77 additions and 49 deletions

View File

@ -43,7 +43,9 @@ jobs:
# key: ${{ secrets.KEY }}
# port: ${{ secrets.PORT }}
# script_stop: true
# script: "mkdir abc/def,ls -al"
# script: |
# mkdir abc/def
# ls -al
- name: pass environment
uses: appleboy/ssh-action@master
@ -56,5 +58,5 @@ jobs:
port: ${{ secrets.PORT }}
envs: FOO
script: |
echo "I am $FOO"
echo "I am $BAR"
echo "I am $FOO, thanks"
echo "I am $BAR, thanks"

View File

@ -1,4 +1,4 @@
FROM appleboy/drone-ssh:1.5.2-linux-amd64
FROM appleboy/drone-ssh:1.5.3-linux-amd64
ADD entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

115
README.md
View File

@ -1,6 +1,6 @@
# 🚀 SSH for GitHub Actions
[GitHub Action](https://developer.github.com/actions/) for executing remote ssh commands.
[GitHub Action](https://github.com/features/actions) for executing remote ssh commands.
![ssh workflow](./images/ssh-workflow.png)
@ -11,14 +11,22 @@
Executing remote ssh commands.
```yaml
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: whoami
name: remote ssh command
on: [push]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: whoami
```
output:
@ -28,9 +36,9 @@ output:
whoami
======END======
out: ***
==========================================
Successfully executed commands to all host.
==========================================
==============================================
Successfully executed commands to all host.
==============================================
```
## Input variables
@ -38,7 +46,7 @@ Successfully executed commands to all host.
see the [action.yml](./action.yml) file for more detail imformation.
* host - scp remote host
* port - scp remote port
* port - scp remote port, default is `22`
* username - scp username
* password - scp password
* timeout - timeout for ssh to remote host, default is `30s`
@ -98,45 +106,62 @@ Multiple Commands
Multiple Hosts
```diff
uses: appleboy/ssh-action@master
with:
- host: "foo.com"
+ host: "foo.com,bar.com"
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: |
whoami
ls -al
- name: multiple host
uses: appleboy/ssh-action@master
with:
- host: "foo.com"
+ host: "foo.com,bar.com"
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: |
whoami
ls -al
```
Pass environment variable to shell script
```diff
uses: appleboy/ssh-action@master
+ env:
+ FOO: "BAR"
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
+ envs: FOO
script: |
echo "I am $FOO"
echo "I am $BAR"
- name: pass environment
uses: appleboy/ssh-action@master
+ env:
+ FOO: "BAR"
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
+ envs: FOO
script: |
echo "I am $FOO"
echo "I am $BAR"
```
Stop script after first failure. ex: missing `abc` folder
```yaml
- name: stop script if command error
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script_stop: true
script: "mkdir abc/def,ls -al"
```diff
- name: stop script if command error
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
+ script_stop: true
script: |
mkdir abc/def
ls -al
```
output:
```sh
======CMD======
mkdir abc/def
ls -al
======END======
2019/11/21 01:16:21 Process exited with status 1
err: mkdir: cannot create directory abc/def: No such file or directory
##[error]Docker run failed with exit code 1
```

View File

@ -6,6 +6,7 @@ inputs:
description: 'ssh remote host'
port:
description: 'ssh remote port'
default: 22
username:
description: 'ssh username'
password: