03 autoDeploy Git SSH

  1. Создаем в проекте папку .ssh
  2. Генерируем пару ключей (через GitBash)
    ssh-keygen -t rsa -b 2048
    
  3. Копируем публичный ключ на хостинг
    $ ssh-copy-id -i ~/.ssh/id_rsa.pub a0201443@000.000.000.000 

    Можно скопировать вручную в папку: /home/a0201443/.ssh

  4. Добавляем приватный ключ на GitHub в Settings > Secrets and variables > Actions
    Имя ключа: key
  5. В проекте создаем файл deploy.yml внутри папок .github/workflows
  6. Код файла: скачать
    name: Deploy
    
    on:
    
      push:
    
        branches:
    
          - master
    
    jobs:
    
      deploy:
    
        runs-on: ubuntu-latest
    
        steps:
    
          - uses: actions/checkout@v3
    
          # Setup key
    
          - run: set -eu
    
          - run: mkdir "$HOME/.ssh"
    
          - run: echo "${{ secrets.key }}" > "$HOME/.ssh/key"
    
          - run: chmod 600 "$HOME/.ssh/key"
    
          # Deploy
    
          - run: rsync -e "ssh -p 22 -i $HOME/.ssh/key -o StrictHostKeyChecking=no" --archive --compress --delete . a0201443@000.000.000.000:/home/a0201443/domains/wexeb.ru/public_html/bankstoday/wp-content/themes/bankstoday