Vi har Git-klienten tilgængelig hos Kinsta, så du kan SSH dig ind og trække din egen Git-repo ned fra Github, Gitlab, Bitbucket eller enhver anden tredjepart. SSH-adgang er tilgængelig på alle Kinstas hostingplaner.

Hvis du lige er i gang, sørg for at læse vores guide om Git vs Github.

Vi har dog endnu ikke frigivet funktionen, hvor du bare kan git-skubbe kinsta my_site, og få den automatisk implementeret. Denne del kommer. Men du kan stadig nemt bruge Git på Kinsta, bare følg instruktionerne herunder.

Sådan bruges Git

Du kan oprette et installationsskript på få minutter, der vil SSH i din Google Cloud Linux-container og trække den seneste version af din repo ned. Your SSH details for your Kinsta site can be found on the “Info” page of your site.

SSH terminal command in MyKinsta.

SSH terminal command in MyKinsta.

ssh my_site@1.2.3.4 -p PORT "cd /www/my_site/public && git pull"

En anden måde at gøre dette på er at bruge WP Pusher. Mange af vores klienter bruger dette, og det gør det super let, da du ikke behøver at vide, hvordan du bruger Git eller SSH.

Austin har også en fremragende tutorial om, hvordan man indstiller automatisk Git-distribution med Kinsta ved hjælp af SSH.

Nogle andre alternativer inkluderer Beanstalk og DeployBot. Ellers kan du følge de mere detaljerede Git-instruktioner nedenfor.

Clone Rep

Sådan klones en repo:

git clone https://github.com/USER/REPO.git

Når du bruger Git til private lagre, bruger du dit GitHub-brugernavn og -adgangskode, der sendes til serveren.

git clone https://username:password@github.com/USER/REPO.git

Hvis tofaktorautentisering er aktiveret, skal et OAuth-token bruges i stedet for dine standardoplysninger. Følg disse instruktioner om, hvordan du opretter et OAuth-token.

To clone a repo that has 2FA enabled:

git clone https://TOKEN@github.com/USER/REPO.git

Private Repo

Hvis det er en privat repo, skal legitimationsoplysninger tilføjes til git pull:

Pull

ssh my_site@1.2.3.4 -p PORT "cd /www/my_site/public && git pull https://username:password@github.com/USER/REPO"

Private Repo med 2FA

Hvis tofaktorautentisering er aktiveret, skal et OAuth-token bruges i stedet for dine standardoplysninger. Følg disse instruktioner om, hvordan du opretter et OAuth-token. Sådan distribueres en repo, der har 2FA aktiveret:

Pull

ssh my_site@1.2.3.4 -p PORT "cd /www/my_site/public && git pull https://TOKEN@github.com/USER/REPO"

Hvis git-pull ovenfor ikke indeholder legitimationsoplysninger og HTTPS-stien, vil den forsøge at se lokalt (snarere end på den hostede repo) og smide beskeden: “Alt opdateret.”

Håndtering af fundne konflikter

Hvis du ændrer noget på fjernbetjeningen, afbrydes installationskommandoerne ovenfor på grund af fundne konflikter. Hvad skal du så gøre? Det afhænger af, hvilken du vil behandle som ”konge.” I dette eksempel nedenfor behandler vi Git-repoen som ”konge” og glemmer konflikterne.

Tving pull

Ret advarsel. Følgende overskriver ændringer, der findes på fjernbetjening med det, der findes i Git-repo.

ssh my_site@1.2.3.4 -p PORT "cd /www/MY_SITE/public && git fetch https://TOKEN@github.com/USER/REPO.git && git reset –hard kinsta/mysite"

Hvis du har spørgsmål til, hvordan du bruger Git på Kinsta, hjælper vores supportafdeling med glæde, når du er i gang.

Sådan installeres automatisk til Kinsta med GitLab CI / CD (avanceret)

For mere avancerede brugere kan GitLab CI / CD (kontinuerlig integration / kontinuerlig levering) bruges til automatisk at skubbe kodeændringer til dit Kinsta-sted, når et nyt engagement skubbes til den relevante filial. Denne metode giver dig mulighed for kontinuerligt at skubbe kode til dit levende miljø på Kinsta uden at overskrive WordPress MySQL-databasen.

Opret et Kinsta-site (valgfrit)

Med henblik på denne vejledning opretter vi et nyt tomt sted på Kinsta, og vi installerer WordPress senere. Hvis du allerede har et Kinsta-sted, kan du stadig følge med i denne tutorial.

Gå til din “Websteder” -side i MyKinsta og klik på Tilføj websted i øverste højre hjørne. Vælg “Don’t Install WordPress option”, navngiv dit websted, vælg en placering, og klik på knappen Tilføj websted for at afslutte oprettelsen af ​​webstedet.

Opret et tomt site i MyKinsta.

Opret et tomt site i MyKinsta.

Opret et GitLab-projekt

For at komme i gang skal du gå over til GitLab og klikke på Opret et projekt for at oprette et nyt depot til dit Kinsta-site.

Opret et projekt i GitLab.

Opret et projekt i GitLab.

Vælg indstillingen Blankt projekt, og udfyld felterne “Projektnavn” og “Projekt slug”.

Opret et tomt projekt i GitLab.

Opret et tomt projekt i GitLab.

For indstillingen “Synlighedsniveau” anbefaler vi, at depotet er privat. Da dette depot kan indeholde premium plugin og temakode, ville det være muligt for nogen at downloade de produkter, du har betalt for at lade den være tilgængelig på det offentlige Internet.

Når du er færdig med at konfigurere det nye projekt, skal du klikke på Opret projekt for at fortsætte.

Konfigurer SSH-nøgler

Derefter skal du tilføje SSH-nøgler til GitLab og MyKinsta for at give de to platforme mulighed for at kommunikere med hinanden. Lad os starte med at tilføje en SSH-nøgle i GitLab.

Tilføj SSH Public Key til GitLab

Først skal SSH ind i dit Kinsta-levende miljø, og køre cat kommandoen nedenfor for at få vist din SSH-offentlige nøgle.

cat ~/.ssh/id_rsa.pub

Din offentlige nøgle skal ligner den nedenunder. Hold dit terminalvindue åbent i øjeblikket, og gå tilbage til GitLab i din webbrowser.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7zdjwd6UIUJ5t4YnXNi6yhdHgrvIV2xgjvJ3592wd1Hzmnta4dau7yOIxQDU7/oNIr6DIskuIUii5ruGi4YZpIwB/AWGrn/uWb+FXJFiQHMZq9rCFcqtZXT0fyzKiSNkblV4F1RaPQJRvxfSUsSQ3jJU3FX8CF1c4R40CiBKkSHM8uavVIIESzgIHRiWVxkL9F6SKzg8GeTctJaAa3W+q1F1T60OKYmzH3OLdA37ZNmkm1CYWa8SF0JjOszxOnPwhfQ49P5r+rftXRFLz/7hGJ8CnUyzErSiUdUKNknUAB+w4KEZshQSNuiken0+GKqIw83dWWSyjiJJigcyDez2s+3AqDLHPG45NoBEXuBXjPQ9C08hokVyKlbzd/P2qvcnzUT5S6zTuaYOW+50+fiXeYkJlEoYYxoGRVx6FFdFqWyJx5UyaDv7QY3iQH0qct1iq9XGXMhBxIecIAEPUwF8nOp15in8L+5UIFMiNnihztTAXysc+8xvVwbuRlQIeR/E= ansible-generated on fvj-kinstagit

Klik på rullemenuen brugerikon i øverste højre hjørne af GitLab, og klik på Indstillinger.

Gå til siden med indstillinger for GitLab.

Gå til siden med indstillinger for GitLab.

Klik på SSH-nøgler i sidebar på siden “Indstillinger”.

SSH-nøgler i GitLab.

SSH-nøgler i GitLab.

Indsæt din SSH-offentlige nøgle i tekstfeltet. Titelfeltet skal automatisk udfyldes med et navn, men du er velkommen til at ændre det, hvis du vil. Med GitLab kan du også indstille en udløbsdato for SSH-nøglen. Denne indstilling er nyttig, hvis du annullerer og roterer SSH-nøgler som en del af din infrastruktur sikkerhedsprotokol. Hvis du ikke gør det, er du velkommen til at lade feltet “Udløber ved” være tomt.

Tilføj din SSH-nøgle i GitLab.

Tilføj din SSH-nøgle i GitLab.

Når du har kontrolleret din konfiguration dobbelt, skal du klikke på Tilføj nøgle for at afslutte processen.

Tilføj SSH Public Key til MyKinsta

Nu hvor din SSH-offentlige nøgle har været i GitLab, skal du tilføje den samme nøgle til MyKinsta. I MyKinsta skal du klikke på dit brugerikon i nederste venstre hjørne og klikke på Brugerindstillinger. Dette trin tilføjer Kinsta-offentlige nøglen til dit websteds authorized_keys (kun skrivbar med root og MyKinsta) og vil give GitLab til SSH dig ind på dit websted for at skubbe kodeændringer.

Brugerindstillinger i MyKinsta.

Brugerindstillinger i MyKinsta.

Rul ned, og klik på Tilføj SSH-nøgle.

Tilføj SSH-nøgle i MyKinsta.

Tilføj SSH-nøgle i MyKinsta.

Angiv et navn på SSH-nøglen i modalvinduet, indsæt din offentlige nøgle i tekstfeltet og klik på Tilføj SSH-nøgle for at afslutte processen.

Tilføj din SSH-nøgle i MyKinsta.

Tilføj din SSH-nøgle i MyKinsta.

Tilføj SSH privat nøgle til GitLab

Dernæst skal du tilføje dit Kinsta live-miljøs SSH-private nøgle som en miljøvariabel i GitLab. Den private nøgle tillader GitLab at SSH ind på dit Kinsta-sted for at skubbe kodeændringer direkte.

For at finde din private nøgle skal du køre Terminal-kommandoen nedenfor i dit Kinsta live-miljø. Sørg for ikke at dele din SSH-private nøgle overalt uden for GitLab.

cat ~/.ssh/id_rsa

I GitLab skal du klikke på det projekt, du oprettede tidligere. Hold markøren over “Indstillinger” på sidebar, og klik på CI / CD.

CI / CD-indstillinger for GitLab-arkiv.

CI / CD-indstillinger for GitLab-arkiv.

Rul ned til afsnittet “Variabler”, klik på “Udvid” -knappen, og klik på Tilføj variabel. Brug SSH_PRIVATE_KEY til nøglenavnet, indsæt din private nøgle i tekstfeltet, og klik på Tilføj variabel for at fortsætte.

Sørg for, at du tilføjer din SSH-private nøgle. Det skal starte med -----BEGIN OPENSSH PRIVATE KEY-----

Når variablen er tilføjet, kan du se den i dine depotindstillinger.

SSH-nøglevariabel i GitLab.

SSH-nøglevariabel i GitLab.

Klon GitLab-repo til MyKinsta

Nu, hvor de nødvendige SSH-nøgler er tilføjet, kan du klone dit GitLab-arkiv til dit Kinsta-levende miljø. I GitLab skal du navigere til dit arkiv, klikke på den blå Klon-knap og kopiere URL’en under “Klon med SSH”.

Klon med SSH i GitLab.

Klon med SSH i GitLab.

Dernæst skal SSH ind i dit Kinsta-levende miljø og navigere til dit hjemmekatalog. Hvis du ikke er sikker på, hvordan du kommer til dit hjemmekatalog, skal du bruge kommandoen herunder.

cd ~/

Når du er i hjemmekataloget, skal du køre git clone kommandoen med den URL, du kopierede fra GitLab.

git clone [your-repository-url-here]

Når du har klonet depotet, ser du en advarsel, der siger “du ser ud til at have klonet et tomt arkiv”. Dette kan forventes, fordi repo er tom i øjeblikket.

Klon dit GitLab-arkiv til dit Kinsta-levende miljø.

Klon dit GitLab-arkiv til dit Kinsta-levende miljø.

Hos Kinsta serverer vores Nginx-konfiguration indhold fra ~/public folder. Således vil du slette den aktuelle ~/public mappe og omdøbe din klonede repo-mappe til ~/public. For at gøre dette skal du køre de to kommandoer nedenfor.

rm -rf ~/public
mv ~/your-repo-folder-name ~/public

Konfigurer GitLab Repo

Brug derefter kommandoen herunder til at navigere til mappen ~/public.

cd ~/public

Kør de to kommandoer nedenfor for at konfigurere din GitLab-repo. Sørg for at angive en gyldig e-mailadresse og et brugernavn, du vælger..

git config --global user.email "youremail@address.com"
git config --global user.name "brian"

Installer WordPress med WP-CLI

Nu hvor GitLab-repoen er klonet til dit Kinsta-levende miljø og konfigureret, lad os installere WordPress. Du kan enten installere WordPress manuelt ved at downloade det fra wordpress.org, eller du kan installere det med WP-CLI. I dette eksempel bruger vi WP-CLI til at installere WordPress med kommandoen herunder i mappen ~/public.

Kæmper med nedetid og WordPress-problemer? Kinsta er hostingløsningen designet til at spare din tid! Tjek vores funktioner
wp core download

Efter installation af WordPress skal din ~/public folder se sådan ud.

En frisk WordPress-installation med WP-CLI.

En frisk WordPress-installation med WP-CLI.

Gå derefter til siden “Domæner” i MyKinsta for dit websted, og besøg dit “Primære domæne”.

Besøg dit primære domæne for at konfigurere WordPress.

Besøg dit primære domæne for at konfigurere WordPress.

Du bliver mødt med WordPress ‘fem minutters installationsproces. Hvis du ikke er sikker på, hvordan du opretter WordPress, har vi en dybdegående vejledning her.

Konfigurer den nye installation af WordPress.

Konfigurer den nye installation af WordPress.

Når WordPress er installeret, skal du være i stand til at se dit nye WordPress-sted ved at besøge dit primære domæne..

En ny WordPress-installation.

En ny WordPress-installation.

Konfigurer GitLab CI / CD-pipeline

Dernæst bliver du nødt til at konfigurere en speciel konfigurationsfil for at instruere GitLab om at starte automatiske implementeringer, efter at repos master brand er blevet opdateret. For at gøre dette skal du navigere til den ~/offentlige mappe i dit Kinsta live-miljø og oprette en ny fil kaldet .gitlab-ci.yml med kommandoen herunder.

cd ~/public && touch .gitlab-ci.yml

Efter at filen er oprettet, tilføj følgende tekst til filen. Du kan enten redigere filen med nano eller vim i Terminal eller med en SFTP-editor. Hvis du bruger en SFTP-klient, skal du sørge for at aktivere skjulte filer for at se filen .gitlab-ci.yml.

before_script:
    - apt-get update -qq
    - apt-get install -qq git
    # Setup SSH deploy keys
    - 'which ssh-agent || ( apt-get install -qq openssh-client )'
    - eval $(ssh-agent -s)
    - ssh-add <(echo "$SSH_PRIVATE_KEY")
    - mkdir -p ~/.ssh- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
deploy_live:
    type: deploy
    environment:
        name: Live
        url: your-primary-domain
    script:
        - ssh user@ip-address -p port-number "cd public-root && git checkout master && git pull origin master && exit"
    only:
        - master

Sørg for at ændre url– og script-parametre i blocket deploy_live. Du ønsker at erstatte de fedtholdige værdier med dit websteds indstillinger fra MyKinsta-dashboardet.

Offentlig sti og SSH-detaljer i MyKinsta.

Offentlig sti og SSH-detaljer i MyKinsta.

Den only: - master -sektionen i filen henviser til arkivgrenen, der vil udløse GitLabs CI/CD-proces. Med denne konfiguration vil en skubning til master grenen starte en implementering til dit Kinsta live-miljø. Hvis du vil specificere en anden gren, der skal udløse implementering, er du velkommen til at ændre konfigurationen.

Hvis du vil implementere yderligere granularitet til konfigurationen for at tage højde for et staging-miljø, kan du tilføje en ekstra deploy_staging-blok med URL- og SSH-detaljerne for dit Kinsta staging-miljø.

 

deploy_staging:
    type: deploy
    environment:
        name: Staging
        url: your-staging-domain
    script:
        - ssh user@ip-address -p port-number "cd public-root && git checkout master && git pull origin staging && exit"
    only:
        - staging

Bemærk det eneste: - også scene-afsnit – dette betyder, at skubbe til scene-grenen vil starte GitLabs CI / CD-proces.

Første forpligtelse til GitLab

Første forpligtelse til GitLabNu hvor WordPress og GitLab-konfigurationsfilen er konfigureret, lad os først indgå en forpligtelse til GitLab. For at gøre dette opretter vi en ny gren kaldet v0.1, begynder at spore filerne i repoen, begå ændringerne og skubbe ændringerne til GitLab i v0.1 grenen. Kør kommandoerne nedenfor fra ~/public for at udløse den indledende engagement.

git checkout -b v0.1
git add .
git commit -a -m 'Initial Commit'
git push origin v0.1

Hvis du tjekker dit depot i GitLab, vil du nu se filerne fra dit oprindelige engagement.

Indledende forpligtelse til GitLab.

Indledende forpligtelse til GitLab.

Konfigurer Kinsta scenemiljø

Det næste trin er at konfigurere et Kinsta scenemiljø, så du har et sikkert sted at teste nye plugins, temaer og kode uden at påvirke dit produktionsmiljø. For at gøre dette skal du først Oprette et scenemiljø i MyKinsta.

Opret et scenemiljø i MyKinsta.

Opret et scenemiljø i MyKinsta.

SSH dig ind i scenemiljø, og kør kommandoen herunder for at kontrollere for eventuelle kodeændringer.

cd ~/public && git status

Du skal se en meddelelse som den nedenfor. Som du kan se, er grenen den v0.1, der blev oprettet tidligere. Derudover er wp-config.php-filen ændret. Dette sker, fordi Kinsta tilføjer et par ekstra linjer til wp-config.php under push fra live til scene.

Ændrede filer i Kinsta scenemiljø.

Ændrede filer i Kinsta scenemiljø.

Foretag og skub ændringer til live

Lad os til sidst foretage nogle ændringer i scenemiljøet og skubbe en ny forpligtelse til Kinsta-levende miljø ved hjælp af GitLab. Husk, at formålet med denne metode er at omgå Kinstas normale “push to live” -funktion, som også overskriver WordPress-databasen.

For dette eksempel skal vi installere Yoast SEO-pluginet ved hjælp af WP-CLI med kommando nedenfor.

cd ~/public && wp plugin install wordpress-seo

Når Yoast SEO-pluginet er installeret, skal du køre kommandoerne nedenfor for at foretage en engagement og skubbe ændringerne til v0.1-grenen.

git add .
git commit -a -m ‘Installed Yoast SEO plugin.’
git push origin v0.1

Endelig, lad os skifte til master grenen, flette v0.1 til master og skub master til GitLab med kommandoerne nedenfor. Dette får GitLab til at indlede en installationsproces til dit Kinsta live-miljø på grund af only: - master i GitLab-konfigurationsfilen.

git checkout master
git merge v0.1
git push origin master

Gå til CI/CD> Jobs i din repos sidebjælke i GitLab, så ser du jobbet køre. Dette “job” er GitLab, der skubber Yoast SEO-pluginet til dit Kinsta-levende miljø.

Aktivt job i GitLab.

Aktivt job i GitLab.

Når jobbet er afsluttet, skal du køre wp-plugin list på dit Kinsta live-miljø. Du skal se wordpress-seo – Yoast SEO-pluginet, der blev installeret i scenemiljøet tidligere.

Yoast SEO-pluginet blev implementeret via GitLab.

Yoast SEO-pluginet blev implementeret via GitLab.

Hvis du er en tema- eller plugin-udvikler, der arbejder med Kinsta-websteder, kan opsætning af auto-udsendelser via GitLab CI / CD hjælpe med at fremskynde din arbejdsgang. Denne opsætning giver dig mulighed for at distribuere kode fra enten dit lokale miljø eller Kinsta scenemiljø uden at skulle overskrive MySQL-databasen på dit live produktionssite.


Hvis du kunne lide denne vejledning, så vil du elske vores support. Alle Kinstas hostingplaner indeholder 24/7 support fra vores erfarne WordPress-udviklere og ingeniører. Chat med det samme team, der understøtter vores Fortune 500-kunder. Tjek vores planer