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.

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 secret | Secret |
| KINSTA_SERVER_IP | Host bijv. 12.34.56.78 |
| KINSTA_GEBRUIKERSNAAM | Gebruikersnaam bijv. kinstahelp |
| WACHTWOORD | Wachtwoord |
| PORT | Poort bijv. 12345 |

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.

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.

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.pubIn 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.

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/publicInitialiseer 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.gitBevestig dat de SSH setup werkt door het volgende commando uit te voeren:
ssh -T [email protected]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 branchDeze workflow doet het volgende:
- Trigger: De workflow wordt elke keer getriggerd als code naar de
mainvan je GitHub repository wordt gepushed. - Jobs: De workflow bevat één
jobgenaamddeploy, 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-actionplugin 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 demainin je GitHub repository.git reset --hard origin/main: Werkt de live site bij met de laatste code van de branch.
- De
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.