Я использую GitHub Actions для развертывания своего приложения на удаленном VPS, и все работает нормально. до того момента, пока я не попытаюсь получить доступ к каталогу /var/www/todo-app на сервере. В моем файле ci.yml есть следующий конвейер развертывания, который запускается при успешном завершении рабочего процесса с именем «Docker Image CI».
Однако я столкнулся с проблемой, при которой команда cd /var/www/todo-app завершается с ошибкой:
Код: Выделить всё
*** System restart required ***
cd: cannot access '/var/www/todo-app': No such file or directory
Вот содержимое моего файла ci.yml:
Код: Выделить всё
name: Deploy to VPS
on:
workflow_run:
workflows: [ "Docker Image CI" ]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get SSH key and set permissions
run: |
mkdir -p ~/.ssh
echo "${{ secrets.REMOTE_PRIVATE_KEY }}" > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.REMOTE_HOST }} >> ~/.ssh/known_hosts
- name: SSH to the server and Redeploy
run: |
ssh -i ~/.ssh/id_rsa ${{ secrets.REMOTE_USERNAME }}@${{ secrets.REMOTE_HOST }}
cd /var/www/todo-app
git pull origin main
echo "DATABASE_URL=${{ secrets.PG_URL }}" > .env
echo "POSTGRES_USER=${{ secrets.PG_USER }}" >> .env
echo "POSTGRES_PASSWORD=${{ secrets.PG_PASSWORD }}" >> .env
echo "POSTGRES_DB=${{ secrets.PG_DB }}" >> .env
docker compose build
docker compose up -d
exit
Подробнее здесь: https://stackoverflow.com/questions/793 ... h-into-rem
Мобильная версия