scp-action/README.md

99 lines
2.1 KiB
Markdown
Raw Normal View History

2019-05-11 17:01:31 +08:00
# 🚀 SCP for GitHub Actions
[GitHub Action](https://developer.github.com/actions/) for copying files and artifacts via SSH.
2019-09-28 12:13:03 +08:00
![ssh key](./images/copy-multiple-file.png)
2019-05-11 17:01:31 +08:00
## Usage
copy files and artifacts via SSH as blow.
2019-09-28 12:13:03 +08:00
```yaml
- name: copy file via ssh password
uses: appleboy/scp-action@master
with:
2019-09-28 12:16:21 +08:00
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
2019-09-28 12:13:03 +08:00
source: "tests/a.txt,tests/b.txt"
2019-09-28 12:16:21 +08:00
target: "test"
2019-05-11 17:01:31 +08:00
```
2019-09-28 12:16:21 +08:00
## Input variables
2019-05-11 19:49:38 +08:00
2019-09-28 12:16:21 +08:00
see the [action.yml](./action.yml) file for more detail imformation.
* host - scp remote host
* port - scp remote port
* username - scp username
* password - scp password
* timeout - timeout for ssh to remote host
* command_timeout - timeout for scp command
* key - content of ssh private key. ex raw content of ~/.ssh/id_rsa
* key_path - path of ssh private key
* target - target path on the server
* source - scp file list
* rm - remove target folder before upload data
2019-05-11 19:49:38 +08:00
2019-05-11 17:01:31 +08:00
### Example
2019-05-11 19:49:38 +08:00
Copy file via ssh password
2019-09-28 12:13:03 +08:00
```yaml
- name: copy file via ssh password
uses: appleboy/scp-action@master
with:
host: example.com
username: foo
password: bar
port: 22
source: "tests/a.txt,tests/b.txt"
target: "test"
2019-05-11 17:01:31 +08:00
```
2019-05-11 19:49:38 +08:00
Copy file via ssh key
2019-09-28 12:13:03 +08:00
```yaml
- name: copy file via ssh key
uses: appleboy/scp-action@master
env:
HOST: ${{ secrets.HOST }}
USERNAME: ${{ secrets.USERNAME }}
PORT: ${{ secrets.PORT }}
KEY: ${{ secrets.KEY }}
with:
source: "tests/a.txt,tests/b.txt"
target: "test"
2019-05-11 19:49:38 +08:00
```
Example configuration for ignore list:
2019-09-28 12:13:03 +08:00
```yaml
- name: copy file via ssh key
uses: appleboy/scp-action@master
env:
HOST: ${{ secrets.HOST }}
USERNAME: ${{ secrets.USERNAME }}
PORT: ${{ secrets.PORT }}
KEY: ${{ secrets.KEY }}
with:
source: "tests/*.txt,!tests/a.txt"
target: "test"
2019-05-11 19:49:38 +08:00
```
2019-05-12 10:25:37 +08:00
Example configuration for multiple server
```diff
2019-09-28 12:13:03 +08:00
- name: copy file via ssh password
uses: appleboy/scp-action@master
with:
- host: "example.com"
+ host: "foo.com,bar.com"
username: foo
password: bar
port: 22
source: "tests/a.txt,tests/b.txt"
target: "test"
2019-05-12 10:25:37 +08:00
```