Med reservation för att vi använder helt fel utryck här har vi försökt skriva en manual om hur du får git att själv hämta en uppdatering och publicera på vår ftpserver. Via vår kära ssh server.
Det finns en webbserver på ssh servern som du kan anropa med en git webhook.
För att få igång det behöver du göra följande steg:
Steg 0) har du haft SSH aktivt innan 2013-04-01 behöver du återaktivera din åtkomst, du behöver alltså först stänga av den i vår kundzon och sen aktivera den igen. (vi har uppdaterat användardatabasen)
Steg 1) Du behöver sätta mer generösa behörigheter på din hemmamapp, så att webbservern får åtkomst till den. Kör kommandot
chmod o+x ~
Steg 2) Du behöver skapa en egen webbroot för ssh webbservern, kör kommandot
mkdir ~/public_html
Steg 3) Skapa en index.php fil, typ
nano ~/public_html/index.php
Lägg in följande kod:
<?php try { // Decode JSON data from Github $payload = json_decode($_REQUEST['payload']); } catch(Exception $e) { exit(0); } // Deploy live if push was on master branch if ($payload->ref === 'refs/heads/master') { exec('./deploy-master.sh'); } // Deploy staging if push was on stage branch if ($payload->ref === 'refs/heads/stage') { exec('./deploy-stage.sh'); }
Steg 4) Skapa en deploy-master.sh fil, typ
nano ~/public_html/deploy-master.sh
#!/bin/sh cd ~/dindomän.se/ git fetch --all git reset --hard origin/master
Steg 5) Lägg till en Service Hooks, Webhooks URL mot http://ssh.i8t.com:8080/~userid/phpfil
Steg 6) Nu är du en bit på väg och bör klara lista ut resten själv, och sen maila Niklas hur man gör så han kan uppdatera wikin.
Annat
Webbservern på ssh servern svarar på http://ssh.i8t.com:8080/ och på https://ssh.i8t.com:8443/
Givetvis är den inte till för att köra en hemsida på, utan för att du ska kunna automatisera ditt arbete.
Får du permission denied så beror det på att du missat steg 0 eller 1.