Skip to main content
📝 Laravel-applicaties

Hoe je Laravel-projecten automatisch naar productie deployt met GitHub Actions

Automatiseer Laravel-deployments naar productie met GitHub Actions. Complete CI/CD-pipeline configuratie — van push naar live in minuten, zonder handmatige stappen.

3 min

Leestijd

586

Woorden

Apr 13, 2025

Gepubliceerd

Engr Mejba Ahmed

Geschreven door

Engr Mejba Ahmed

Artikel delen

Hoe je Laravel-projecten automatisch naar productie deployt met GitHub Actions

Ben je het beu om je Laravel-project handmatig naar een productieserver te uploaden bij elke update? In deze gids leer je hoe je je Laravel-deployment automatiseert met GitHub Actions — de DevOps-vriendelijke CI/CD-tool ingebouwd in GitHub.

Laten we je workflow stroomlijnen en je Laravel-app deployen naar je Hostinger VPS (of elke SSH-toegankelijke server) met een simpele git push.

✅ Waarom GitHub Actions gebruiken voor Laravel-deployment?

GitHub Actions stelt je in staat om:

  • Je productie-deployment na elke push te automatiseren.
  • Het gebruik van onveilige FTP-tools te vermijden.
  • Tijd te besparen en menselijke fouten te verminderen.
  • Een goede CI/CD-pipeline op te bouwen als Laravel-ontwikkelaar.

🧠 Vereisten

Voordat je begint, zorg ervoor dat je het volgende hebt:

  1. Een Laravel-project gehost op GitHub.
  2. Een Hostinger VPS of webhostingpakket met SSH-toegang.
  3. Toegang tot de terminal/opdrachtregel.
  4. Composer geïnstalleerd op je server.

🛠️ Stap 1: SSH-sleutel genereren en uploaden naar Hostinger

  1. Genereer een SSH-sleutel op je lokale machine:
ssh-keygen -t rsa -b 4096 -C "[email protected]"

Dit genereert twee bestanden:

  • ~/.ssh/colorpark_hostinger (privésleutel)
  • ~/.ssh/colorpark_hostinger.pub (publieke sleutel)
  1. Voeg de publieke sleutel toe aan Hostinger:

Ga naar Hostinger → Geavanceerd → SSH-toegang → SSH-sleutels Klik op SSH-sleutel toevoegen, plak de inhoud van de publieke sleutel uit:

cat ~/.ssh/colorpark_hostinger.pub
  1. Bewaar de inhoud van de privésleutel om later als GitHub Secret toe te voegen:
cat ~/.ssh/colorpark_hostinger

🔐 Stap 2: GitHub Secrets toevoegen

In je GitHub-repository:

Ga naar: Settings → Secrets and variables → Actions → New repository secret

Voeg de volgende secrets toe:

HOSTINGER_SSH_HOST='145.223.89.199'      # Je server-IP
HOSTINGER_SSH_PORT='65002'               # Je SSH-poort
HOSTINGER_SSH_USER='u597250090'          # Je SSH-gebruikersnaam
HOSTINGER_SSH_KEY='(plak je PRIVÉ-sleutel inhoud)'
DEPLOY_PATH='/home/u597250090/domains/example.com/public_html'

📁 Stap 3: GitHub Actions Workflow aanmaken

Maak in je Laravel-project het volgende bestand aan:

mkdir -p .github/workflows
touch .github/workflows/deploy.yml

Plak de volgende complete deploy.yml-configuratie:

name: 🚀 Deploy naar Hostinger

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Code uitchecken
        uses: actions/checkout@v3

      - name: SSH-sleutel instellen
        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.HOSTINGER_SSH_KEY }}" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan -p ${{ secrets.HOSTINGER_SSH_PORT }} ${{ secrets.HOSTINGER_SSH_HOST }} >> ~/.ssh/known_hosts

      - name: Deployen via rsync
        run: |
          rsync -avz --delete \
            --exclude=".env" \
            --exclude=".gitignore" \
            -e "ssh -p ${{ secrets.HOSTINGER_SSH_PORT }}" \
            ./ ${{ secrets.HOSTINGER_SSH_USER }}@${{ secrets.HOSTINGER_SSH_HOST }}:${{ secrets.DEPLOY_PATH }}

      - name: Laravel post-deploy opdrachten
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.HOSTINGER_SSH_HOST }}
          username: ${{ secrets.HOSTINGER_SSH_USER }}
          key: ${{ secrets.HOSTINGER_SSH_KEY }}
          port: ${{ secrets.HOSTINGER_SSH_PORT }}
          script: |
            cd ${{ secrets.DEPLOY_PATH }}
            composer install --no-dev --prefer-dist --no-interaction
            php artisan optimize:clear

🚀 Stap 4: Push je code om deployment te starten

Zodra alles is ingesteld, push je je Laravel-project naar de main-branch:

git add .
git commit -m "🔧 GitHub Actions configureren voor automatische deployment"
git push origin main

GitHub start automatisch de deployment. Je kunt de logs bekijken onder het tabblad "Actions" van je GitHub-repo.


✅ Bonustips

  • Zorg ervoor dat je server de juiste bestandsrechten heeft.
  • Maak altijd een back-up van je .env en database voordat je php artisan migrate --force uitvoert.
  • Als je gedeelde hosting gebruikt, controleer dan of het SSH-sleutel login en composer ondersteunt.

📌 Laatste gedachten

Door GitHub Actions in je Laravel-deployment te integreren, bespaar je niet alleen tijd — je bouwt een professionele workflow die schaalt.

Geen handmatige uploads meer, geen FTP meer. Gewoon pushen en deployen. 🔥


Wil je meer automatisering bouwen zoals dit?

👉 Volg voor meer Laravel DevOps-tips en full-stack developer tutorials.

Coffee cup

Vond u dit artikel leuk?

Uw steun helpt mij meer diepgaande technische content, open-source tools en gratis bronnen voor de ontwikkelaarsgemeenschap te maken.

Gerelateerde onderwerpen

Engr Mejba Ahmed

Over de auteur

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

15  +  3  =  ?

Blijf leren

Gerelateerde artikelen

Alles bekijken

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support