ssh-action/.github/workflows/ci.yml

153 lines
3.8 KiB
YAML
Raw Normal View History

2019-09-29 10:45:29 +08:00
name: remote ssh command
2019-09-29 10:43:33 +08:00
on: [push]
env:
FOO: "BAR"
BAR: "FOO"
2019-09-29 10:43:33 +08:00
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
2020-02-13 21:20:15 +08:00
- name: checkout
uses: actions/checkout@v1
- name: executing remote ssh commands using password
2020-02-13 21:20:15 +08:00
uses: ./
2019-09-29 10:43:33 +08:00
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: whoami
- name: executing remote ssh commands using ssh key
2020-02-13 21:20:15 +08:00
uses: ./
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: whoami
2019-09-29 10:53:17 +08:00
- name: multiple command
2020-02-13 21:20:15 +08:00
uses: ./
2019-09-29 10:53:17 +08:00
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
2019-09-29 10:55:53 +08:00
script: |
2019-09-29 10:53:17 +08:00
whoami
ls -al
2019-09-29 11:16:09 +08:00
2019-09-29 12:02:21 +08:00
# - name: stop script if command error
# if: always()
2020-02-13 21:20:15 +08:00
# uses: ./
2019-09-29 12:02:21 +08:00
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USERNAME }}
# key: ${{ secrets.KEY }}
# port: ${{ secrets.PORT }}
# script_stop: true
# script: |
# mkdir abc/def
# ls -al
2019-09-29 11:16:09 +08:00
- name: pass environment
2020-02-13 21:20:15 +08:00
uses: ./
2019-09-29 11:16:09 +08:00
env:
FOO: "BAR"
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
2019-09-29 11:19:40 +08:00
envs: FOO
2019-09-29 11:16:09 +08:00
script: |
echo "I am $FOO, thanks"
echo "I am $BAR, thanks"
2019-12-07 20:19:15 +08:00
- name: pass multiple environment
2020-02-13 21:20:15 +08:00
uses: ./
2019-12-07 20:19:15 +08:00
env:
FOO: "BAR"
BAR: "FOO"
SHA: ${{ github.sha }}
PORT: ${{ secrets.PORT }}
2019-12-07 20:19:15 +08:00
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
envs: FOO,BAR,SHA,PORT
2019-12-07 20:19:15 +08:00
script: |
echo "I am $FOO, thanks"
echo "I am $BAR, thanks"
2020-02-09 11:29:31 +08:00
echo "sha: $SHA"
echo "port: $PORT"
sh test.sh
- name: ssh key passphrase
2020-02-13 21:20:15 +08:00
uses: ./
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH2 }}
port: ${{ secrets.PORT }}
passphrase: ${{ secrets.PASSPHRASE }}
script: |
whoami
ls -al
- name: use insecure cipher
uses: ./
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: |
ls \
-lah
use_insecure_cipher: true
# https://github.com/appleboy/ssh-action/issues/75#issuecomment-668314271
- name: Multiline SSH commands interpreted as single lines
uses: ./
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script_stop: true
script: |
ls \
-lah
use_insecure_cipher: true
# https://github.com/appleboy/ssh-action/issues/85
- name: Deployment to multiple hosts with different ports
uses: ./
with:
host: "${{ secrets.HOST }}:${{ secrets.PORT }}"
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: 1024
script_stop: true
script: |
ls \
-lah
use_insecure_cipher: true
2021-03-06 23:00:38 +08:00
2022-12-09 10:17:03 +08:00
# - name: SSH ED25519 Private Key
# uses: ./
# with:
# host: ${{ secrets.TUNNEL_HOST }}
# username: ${{ secrets.TUNNEL_USERNAME }}
# key: ${{ secrets.ID_ED25519 }}
# port: ${{ secrets.TUNNEL_PORT }}
# script: whoami