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:
- Een Laravel-project gehost op GitHub.
- Een Hostinger VPS of webhostingpakket met SSH-toegang.
- Toegang tot de terminal/opdrachtregel.
- Composer geïnstalleerd op je server.
🛠️ Stap 1: SSH-sleutel genereren en uploaden naar Hostinger
- 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)
- 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
- 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
.enven database voordat jephp artisan migrate --forceuitvoert. - 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.