@angelzzz

Как настроить Github actions для деплоя и сборки проекта на Digital ocean?

Пытаюсь настроить workflow для github actions со следующими шагами:

  1. Подключиться к Digital ocean через ssh
  2. Зайти в папку проекта /saver
  3. Спулить обновления из ветки
  4. Скачать зависимости и запустить сборку


На текущий момент у меня это выглядит так

name: Deploy app

on:
  push:
    branches: [ main ]


jobs:
  build:
    runs-on: ubuntu-20.04

    steps:
      - name: Deploy to Digital Ocean
        uses: appleboy/ssh-action@master
        with: 
          host: ${{secrets.SSH_HOST}}
          key: ${{secrets.SSH_KEY}}
          username: ${{secrets.SSH_USERNAME}}
          passphrase: ${{secrets.SSH_PASSPHRASE}}
          script: |
            cd saver 
            mkdir test #just to check if it connects and creates folder
        
      - name: Checkout
        uses: actions/checkout@v3
        with:
          ref: main
         
      - name: Build
        run: npm run build


Но обновления не спуливаются и сборка осуществляется со старым кодом

Пытался добавить шаг

- name: Pull changes
        run: git pull


Между Checkout и Build, но тогда ругается на то, что нужно ввести public key (err: git@github.com: Permission denied (publickey) ) и не могу найти как это сделать
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Во-первых, важно понимать, где выполняется каждая команда.
Во-вторых, checkout должен быть первым шагом, потом build, потом deploy.
Посмотрите примеры по "deploy node application with github actions", если коротко, то - checkout, build, and deploy artifact.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы