Integratie GitHub Actions

Voor gevorderde gebruikers kan GitHub CI/CD (Continuous Integration/Continuous Delivery of Continuous Deployment) automatisch codeveranderingen uitrollen naar je Kinsta site zodra een nieuwe commit naar de aangewezen branch wordt gepushed. Deze opzet maakt het mogelijk om naadloos code uit te rollen vanuit je lokale omgeving via SSH en GitHub acties, waardoor je continu updates voor je site kunt uitvoeren.

Om deze stappen te volgen, moet je een bestaande site hebben die gehost wordt op Kinsta en een GitHub account.

1. Download een backup van je site

Je kunt een backup van je site downloaden om de GitHub repository in te stellen en er lokaal aan te werken. Je kunt ook DevKinsta gebruiken om je site van de Kinsta server te halen en er lokaal aan te werken.

Ga in MyKinsta naar Sites > sitenaam > Backups > Download > Nu backup maken.

Maak een downloadbare backup in MyKinsta.
Maak een downloadbare backup in MyKinsta.

Als je backup klaar is, klik je op Downloaden, sla je deze op je lokale computer op en pak je de bestanden uit in een map.

2. Stel de GitHub repository in

Open de map met de bestanden van je site in de code editor van je voorkeur. Om het uploaden van onnodige WordPress core bestanden, media uploads of gevoelige informatie te voorkomen, voeg je een .gitignore bestand toe aan de hoofdmap van je project. Je kunt een standaard WordPress .gitignore template gebruiken, de inhoud ervan kopiëren en het opslaan om ervoor te zorgen dat alleen de essentiële bestanden worden gevolgd.

Maak een GitHub repository aan en push de bestanden van je site naar GitHub.

3. Stel GitHub secrets in voor Kinsta

Om implementaties van GitHub naar Kinsta te automatiseren, heb je belangrijke SSH gegevens nodig, waaronder je gebruikersnaam, wachtwoord, poort en IP adres. Omdat deze gevoelig zijn, moet je ze veilig opslaan als GitHub Secrets.

Ga binnen GitHub naar je repository, klik op Settings > Secrets and variables > Actions> New repository secret.

Voeg de volgende geheimen toe met behulp van de Primaire SFTP/SSH gebruikersgegevens van de Info pagina van je site in MyKinsta:

Naam secretSecret
KINSTA_SERVER_IPHost bijv. 12.34.56.78
KINSTA_GEBRUIKERSNAAMGebruikersnaam bijv. kinstahelp
WACHTWOORDWachtwoord
PORTPoort bijv. 12345
SSH informatie om geheimen toe te voegen aan GitHub.
SSH informatie om geheimen toe te voegen aan GitHub.

4. Genereer een SSH-sleutel op je Kinsta-server

Open een nieuwe terminal en SSH naar je Kinsta server met het SSH terminal commando vanaf de Info pagina van je site in MyKinsta.

SSH terminal commando voor je site.
SSH terminal commando voor je site.

Voer het wachtwoord van je site in en genereer vervolgens een nieuwe SSH-sleutel met het volgende commando, waarbij je [email protected] vervangt door je e-mailadres:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Druk op Enter om de sleutel op de standaardlocatie op te slaan en laat de wachtwoordzin leeg als daarom wordt gevraagd.

Generate an SSH key.
Een SSH-sleutel genereren.

5. Voeg de SSH sleutel toe aan GitHub

Open de inhoud van het publieke sleutelbestand (bijv. ~/.ssh/id_rsa.pub) met het volgende commando:

cat ~/.ssh/id_rsa.pub

In GitHub, ga naar Settings > SSH and GPG keys > New SSH key, voer een titel in (bijv. “Kinsta Server Key”), zorg ervoor dat het key type Authentication key is, plak de publieke sleutel in Key , en klik op Add SSH key. Als je lid bent van een organisatie die Deploy keys gebruikt, dan moet je je SSH sleutel toevoegen als een deploy key. Voor meer details, zie de GitHub documentatie over Deploy keys.

6. Configureer Git om SSH te gebruiken op de Kinsta server

Kopieer in MyKinsta, op de Info pagina, het Pad van Omgevingsdetails.

Pad op de Info pagina van je site.
Pad op de Info pagina van je site.

Navigeer in de terminal naar de live directory van je site met de volgende opdracht, waarbij je /www/your-site/public vervangt door het pad dat je hebt gekopieerd van MyKinsta.

cd /www/your-site/public

Initialiseer de map als een Git repository en stel de externe URL in om SSH te gebruiken met het volgende commando, waarbij your-username en your-repo vervangt door je git referenties en repository:

git init
git remote add origin [email protected]:your-username/your-repo.git

Bevestig dat de SSH setup werkt door het volgende commando uit te voeren:

Je zou een bericht moeten zien dat lijkt op: “Hoi jouw-gebruikersnaam! Je hebt je succesvol geauthenticeerd, maar GitHub biedt geen shell toegang.” Je Kinsta server is nu klaar om updates van GitHub te ontvangen en direct uit te rollen via GitHub Actions.

7. Maak de GitHub Actions workflow

Deze workflow zet automatisch wijzigingen uit naar Kinsta als je naar de main pusht. Om het uitrollen te automatiseren, moet je definiëren hoe het uitrollen zal gebeuren met behulp van een YAML bestand.

Maak in je GitHub repository een nieuwe map genaamd .github/workflows binnen deze map, maak een nieuw bestand genaamd deploy.yml en voeg de volgende inhoud toe aan het bestand, waarbij your-site vervangt door de mapnaam van het pad op je Kinsta site:

name: Deploy to Kinsta

on:
  push:
    branches:
      - main # Trigger the workflow only when changes are pushed to the main branch

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      # Setup Node.js (only if needed for build tasks)
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20.x'

      # Checkout the latest code from the GitHub repository
      - name: Checkout code
        uses: actions/[email protected]

      # Deploy to Kinsta via SSH
      - name: Deploy via SSH
        uses: appleboy/[email protected]
        with:
          host: ${{ secrets.KINSTA_SERVER_IP }}
          username: ${{ secrets.KINSTA_USERNAME }}
          password: ${{ secrets.PASSWORD }}
          port: ${{ secrets.PORT }} # Optional, default is 22
          script: |
            # Navigate to the live site directory
            cd /www/your-site/public

            # Pull the latest changes from the GitHub repository
            git fetch origin main
            git reset --hard origin/main  # Ensure the live site matches the latest main branch

Deze workflow doet het volgende:

  • Trigger: De workflow wordt elke keer getriggerd als code naar de main van je GitHub repository wordt gepushed.
  • Jobs: De workflow bevat één job genaamd deploy, die draait op een Ubuntu virtuele machine (ubuntu-latest).
  • Checkout code: Dit gebruikt de actions/[email protected] actie om de nieuwste code van je GitHub repository te halen.
  • Deploy to Kinsta via SSH:
    • De appleboy/ssh-action plugin maakt een SSH verbinding met je Kinsta server met de geheimen die je in GitHub hebt opgeslagen (host, gebruikersnaam, wachtwoord en, optioneel, de poort). Het script in deze stap voert de volgende commando’s uit:
    • Deployment Commands:
      • cd /www/your-site/private: Navigeert naar de live directory waar WordPress wordt gehost.
      • git fetch origin main: Haalt de laatste wijzigingen op van de main in je GitHub repository.
      • git reset --hard origin/main: Werkt de live site bij met de laatste code van de branch.

8. De workflow testen

Als je de workflow eenmaal hebt ingesteld, kun je het testen door een kleine wijziging naar de main van je GitHub repository te pushen. Elke keer dat je een wijziging pusht, activeert GitHub Actions automatisch de deployment, waarbij de laatste versie van je code wordt opgehaald en uitgerold naar je live site op Kinsta.

Je kunt de status van je deployment in de gaten houden door naar het tabblad Actions in je GitHub repository te gaan. Als de workflow fouten tegenkomt, zie je gedetailleerde logs om je te helpen bij het oplossen van problemen.

Was dit artikel nuttig?

© 2013 - 2026 Kinsta Inc. Alle rechten voorbehouden. Kinsta®, MyKinsta®, DevKinsta® en Sevalla® zijn handelsmerken in eigendom van Kinsta Inc.Het WordPress® handelsmerk is het intellectuele eigendom van de WordPress Foundation, en de Woo® en WooCommerce® handelsmerken zijn het intellectuele eigendom van WooCommerce, Inc. Het gebruik van de WordPress®, Woo®, en WooCommerce® namen op deze website zijn alleen voor identificatiedoeleinden en impliceren geen goedkeuring door de WordPress Foundation of WooCommerce, Inc. Kinsta wordt niet onderschreven door, is geen eigendom van en is niet verbonden aan de WordPress Foundation of WooCommerce, Inc. Juridische informatie