46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
name: Deploy static site
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install rsync
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y rsync
|
|
|
|
- name: Setup SSH
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_rsa
|
|
chmod 600 ~/.ssh/id_rsa
|
|
|
|
ssh-keyscan -p ${{ secrets.DEPLOY_PORT }} -t rsa ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
|
|
|
|
cat <<EOF >> ~/.ssh/config
|
|
Host deploy
|
|
HostName ${{ secrets.DEPLOY_HOST }}
|
|
User ${{ secrets.DEPLOY_USER }}
|
|
Port ${{ secrets.DEPLOY_PORT }}
|
|
IdentityFile ~/.ssh/id_rsa
|
|
IdentitiesOnly yes
|
|
StrictHostKeyChecking yes
|
|
HostKeyAlgorithms ssh-rsa
|
|
PubkeyAcceptedAlgorithms +ssh-rsa
|
|
EOF
|
|
|
|
- name: Deploy via rsync
|
|
run: |
|
|
rsync -avz --delete \
|
|
-e "ssh deploy" \
|
|
index.html styles.css de/ en/ \
|
|
deploy:${{ secrets.DEPLOY_PATH }} |