Compare commits

..

4 Commits

Author SHA1 Message Date
thuongnht c9b539abea
Merge pull request #6 from thebaptiste/metwork
fix: in ssh_process, we exit(1) only if the exit code of the ssh command is not 0
2021-03-05 12:28:50 +01:00
Jean-Baptiste VESLIN 5aa3c5e8d1
Update app.py 2021-03-05 10:36:08 +01:00
Jean-Baptiste VESLIN 1e8a5783bc
feat: use ssh command exit code 2021-03-05 10:18:23 +01:00
Jean-Baptiste VESLIN fed5e4953c
fix: don't exit(1) if both err and out are not empty 2021-03-05 10:05:00 +01:00
2 changed files with 9 additions and 8 deletions

View File

@ -24,16 +24,14 @@ jobs:
with:
host: ${{ secrets.DC_HOST }}
user: ${{ secrets.DC_USER }}
key: ${{ secrets.DC_PASS }}
pass: ${{ secrets.DC_PASS }}
port: ${{ secrets.DC_PORT }}
connect_timeout: 10s
first_ssh: |-
rm -rf /home/github/test
ls -la
echo $WELCOME ||
ls debug
mkdir -p /home/github/test/test1 &&
ls debug
echo $WELCOME
mkdir -p /home/github/test/test1 &&
mkdir -p /home/github/test/test2 &&
scp: |-
'./test/*' => /home/github/test/

9
app.py
View File

@ -86,10 +86,8 @@ def ssh_process(ssh, input_ssh):
c = path.expandvars(commands[i])
if c == "":
continue
if c.endswith('&&') or c.endswith('||'):
if c.endswith('&&') or c.endswith('||') or c.endswith(';'):
c = c[0:-2] if i == (l-1) else c
elif c.endswith(';'):
c = c[0:-1] if i == (l-1) else c
else:
c = f"{c} &&" if i < (l-1) else c
command_str = f"{command_str} {c}"
@ -98,6 +96,8 @@ def ssh_process(ssh, input_ssh):
stdin, stdout, stderr = ssh.exec_command(command_str)
ssh_exit_status = stdout.channel.recv_exit_status()
out = "".join(stdout.readlines())
out = out.strip() if out is not None else None
if out:
@ -107,6 +107,9 @@ def ssh_process(ssh, input_ssh):
err = err.strip() if err is not None else None
if err:
print(f"Error: \n{err}")
if ssh_exit_status != 0:
print(f"ssh exit status: {ssh_exit_status}")
sys.exit(1)
pass