Der Zugriff auf den Ordner /var/www/todo-app ist nicht möglich, während Github Action für SSH in den Remote-Server verweLinux

Linux verstehen
Guest
 Der Zugriff auf den Ordner /var/www/todo-app ist nicht möglich, während Github Action für SSH in den Remote-Server verwe

Post by Guest »

Problem beim Zugriff auf das Verzeichnis /var/www/todo-app auf einem Remote-VPS während der Bereitstellung
Ich verwende GitHub Actions, um meine Anwendung auf einem Remote-VPS bereitzustellen, und alles funktioniert einwandfrei bis zu dem Punkt, an dem ich versuche, auf das Verzeichnis /var/www/todo-app auf dem Server zuzugreifen. Ich habe die folgende Bereitstellungspipeline in meiner ci.yml-Datei, die ausgelöst wird, wenn ein Workflow namens „Docker Image CI“ erfolgreich abgeschlossen wird.
Ich stoße jedoch auf ein Problem mit dem Befehl cd /var/www/todo-app schlägt mit dem folgenden Fehler fehl:

Code: Select all

*** System restart required ***
cd: cannot access '/var/www/todo-app': No such file or directory

Ich kann erfolgreich auf /var/www/html zugreifen, aber auf das Verzeichnis /var/www/todo-app scheint kein Zugriff möglich zu sein, obwohl dort ein Git-Repository namens todo-app vorhanden ist Server. Ich frage mich, ob möglicherweise ein Problem mit dem Pfad oder den Berechtigungen des Verzeichnisses vorliegt. Ich habe versucht, die Berechtigung für den todo-app-Ordner auf dem Remote-Server festzulegen, aber es ist nichts passiert.
Hier ist der Inhalt meiner ci.yml-Datei:

Code: Select all

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

Vielen Dank für eure Hilfe.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post