name: Deploy to Staging and Production on: [push] jobs: deploy: runs-on: ubuntu-latest steps: # 1. Korak: Prevzem kode iz repozitorija - name: Checkout repository uses: actions/checkout@v3 # 2. Korak: Namestitev SSH ključa (POENOSTAVLJENO IN POPRAVLJENO) # Akcija bo samodejno uporabila ssh-keyscan za dodajanje prstnega odtisa strežnika. # Odvečen korak "Adding Known Hosts" je odstranjen. - name: Install SSH Key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SSH_PRIVATE_KEY }} known_hosts: ${{ secrets.SSH_HOST }} # Pravilen način uporabe! # 3. Korak: Razmestitev na RAZVOJNI (development) strežnik # Ta korak se izvede SAMO, če je ime veje 'develop'. - name: Deploy to Development Server if: gitea.ref_name == 'develop' run: | echo "🚀 Deploying branch 'develop' to Development environment..." rsync -avz --delete \ -e "ssh -p 22" \ --exclude '.gitea/' \ --exclude '.git/' \ ./ ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.TARGET_DIR }} echo "✅ Deployment to Development successful!" # 4. Korak: Razmestitev na PRODUKCIJSKI (master) strežnik # Ta korak se izvede SAMO, če je ime veje 'master'. - name: Deploy to Production Server if: gitea.ref_name == 'master' run: | echo "🚀 Deploying branch 'master' to Production environment..." rsync -avz --delete \ -e "ssh -p 22" \ --exclude '.gitea/' \ --exclude '.git/' \ ./ ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.TARGET_MASTER_DIR }} echo "✅ Deployment to Production successful!"