45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
name: Deploy landing
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
steps:
|
|
- name: check inputs
|
|
run: |
|
|
test -n "${{ secrets.SSH_PRIVATE_KEY }}" && echo "SSH_PRIVATE_KEY=OK" || (echo "SSH_PRIVATE_KEY=EMPTY" && exit 1)
|
|
test -n "${{ vars.SSH_KNOWN_HOSTS }}" && echo "SSH_KNOWN_HOSTS=OK" || (echo "SSH_KNOWN_HOSTS=EMPTY" && exit 1)
|
|
test -n "${{ vars.SSH_PORT }}" && echo "SSH_PORT=OK" || (echo "SSH_PORT=EMPTY" && exit 1)
|
|
test -n "${{ vars.SSH_USER }}" && echo "SSH_USER=OK" || (echo "SSH_USER=EMPTY" && exit 1)
|
|
test -n "${{ vars.SSH_HOST }}" && echo "SSH_HOST=OK" || (echo "SSH_HOST=EMPTY" && exit 1)
|
|
|
|
- name: prepare ssh
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
|
|
cat <<'EOF' > ~/.ssh/id_ed25519
|
|
${{ secrets.SSH_PRIVATE_KEY }}
|
|
EOF
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
|
|
cat <<'EOF' > ~/.ssh/known_hosts
|
|
${{ vars.SSH_KNOWN_HOSTS }}
|
|
EOF
|
|
chmod 644 ~/.ssh/known_hosts
|
|
|
|
- name: deploy on server
|
|
run: |
|
|
ssh -i ~/.ssh/id_ed25519 \
|
|
-p "${{ vars.SSH_PORT }}" \
|
|
"${{ vars.SSH_USER }}@${{ vars.SSH_HOST }}" \
|
|
'
|
|
git config --global --add safe.directory /srv/snusxd/landing &&
|
|
cd /srv/snusxd/landing &&
|
|
git fetch origin &&
|
|
git reset --hard origin/main
|
|
'
|