Takaisin dokumentaatioon
GitHub-integraatio

Automaattinen käyttöönotto

Ota käyttöön jokainen push seuraamaasi GitHub-haaraan palvelimellasi jatkuvasti käynnissä olevan webhook-workerin kautta.

Intermediate12 min readUpdated 2026-07-21

Miten automaattinen käyttöönotto toimii

Automaattinen käyttöönotto ottaa GitHub-sovelluksen uudelleen käyttöön aina, kun GitHub lähettää push-tapahtuman sovelluksen seuraamalle haaralle. Server Compass asentaa palvelimellesi jatkuvasti käynnissä olevan yhdyskäytävän ja yksityisen käyttöönotto-workerin, luo repositorion webhookin, varmistaa GitHubin allekirjoitetun testitoimituksen ja asettaa täsmälleen kyseisen commitin jonoon käyttöönottoa varten.

Server Compass -työpöytäsovelluksen ei tarvitse pysyä avoinna asennuksen jälkeen. Palvelinpuolen ajonaikainen ympäristö käynnistyy uudelleen Dockerin mukana ja jatkaa webhookien vastaanottamista, sovelluksen buildaamista ja käyttöönottohistorian tallentamista. SSH-porttisi voi pysyä yksityisenä; vain webhookin isäntänimen on oltava GitHubin tavoitettavissa HTTPS:n kautta.

Vaatimukset

Ennen aloittamista varmista, että sinulla on:

  • Docker-sovellus, joka on jo otettu käyttöön GitHub-repositoriosta
  • Build on VPS valittuna build-sijainniksi; GitHub Actions -buildeja ei tueta webhook-pohjaisessa Auto Deploy v1:ssä
  • Hallittu Git-checkout sovelluksen Server Compass -hakemistossa
  • Linkitetty GitHub-tili, jolla on oikeus luoda repositorion webhookeja
  • Docker Engine ja Docker Compose palvelimella
  • Oma julkinen HTTPS-isäntänimi, kuten deploy.example.com
  • Reitti kyseisestä isäntänimestä webhook-yhdyskäytävään

Automaattinen käyttöönotto seuraa käyttöön otettuun sovellukseen tallennettua haaraa. Jokainen push juuri siihen haaraan asettaa GitHub-tapahtumaan sisältyvän commitin jonoon; muihin haaroihin tehdyt pushit ohitetaan.

Sovelluksen määrittäminen

  1. Ota Server Compassissa repositorio käyttöön GitHub-sovelluksena.
  2. Valitse käyttöönoton aikana Build on VPS.
  3. Avaa käyttöön otettu sovellus ja siirry kohtaan Deployments.
  4. Etsi Automaattinen käyttöönotto -kortti ja napsauta Set up Auto Deploy.
  5. Syötä julkinen webhook-isäntänimi. Käytä vain isäntänimeä tai HTTPS-originia, esimerkiksi deploy.example.com tai https://deploy.example.com. Älä lisää polkua, kyselymerkkijonoa tai mukautettua porttia.

Isäntänimi on GitHubin julkinen sisäänkäynti. Pelkkä verkkotunnus ei riitä: DNS:n, TLS:n, palomuuri- tai NAT-sääntöjen sekä proxysi tai tunnelisi on muodostettava täydellinen reitti palvelimen yhdyskäytävään.

Valitse, miten GitHub tavoittaa palvelimen

Kaikki kolme reittivaihtoehtoa käyttävät samaa allekirjoitettua webhookia ja yksityistä käyttöönotto-workeria. Vain julkinen reitti on erilainen.

Server Compassin hallitsema Traefik

Käytä tätä, kun Server Compassin hallitsema Traefik on jo palvelimen julkinen käänteinen välityspalvelin. Osoita isäntänimen DNS-tietue palvelimeen ja varmista, että saapuvat portit 80 ja 443 tavoittavat sen. Server Compass liittää webhook-yhdyskäytävän olemassa olevaan traefik-public Docker-verkkoon ja määrittää HTTPS-isäntäreitin.

Tämä on yleensä yksinkertaisin vaihtoehto julkiselle VPS:lle. Se voi toimia myös LAN-palvelimella, kun reititin välittää portit 80 ja 443 kyseiselle palvelimelle ja isäntänimi selviää reitittimen julkiseen IP-osoitteeseen.

Olemassa oleva käänteinen välityspalvelin

Käytä tätä, kun Nginx, Caddy, Traefik, HAProxy tai jokin muu välityspalvelin käsittelee jo isäntänimen. Napsauta Check server saadaksesi luodun loopback-kohteen, ja reititä sitten webhook-isäntänimi näytettyyn osoitteeseen, esimerkiksi http://127.0.0.1:42315.

Välityspalvelimen on säilytettävä raaka pyyntörunko ja GitHub-webhookin otsakkeet, jotta yhdyskäytävä voi varmistaa HMAC-allekirjoituksen. Älä sijoita kirjautumisen välikerrosta, Cloudflare Accessia tai muuta vuorovaikutteista todennussivua tämän reitin eteen.

Jos välityspalvelin toimii Dockerissa, muista, että 127.0.0.1 välityspalvelimen kontin sisällä viittaa siihen konttiin. Käytä sen sijaan host-verkkoa, host-gateway-osoitetta tai sopivaa jaettua Docker-verkkoa.

Vakaa tunneli

Käytä tätä LAN-palvelimelle, yksityiselle VPS:lle, CGNAT-yhteydelle tai mille tahansa palvelimelle, jolle et halua avata saapuvia portteja. Luo pysyvä nimetty Cloudflare Tunnel tai vastaava tunneli, aja sen liitin palvelimella ja yhdistä julkinen isäntänimi loopback-kohteeseen, jonka Check server näyttää, kuten http://127.0.0.1:42315.

Tunnelin on oltava vakaa ja käynnistyttävä automaattisesti uudelleenkäynnistyksen jälkeen. Väliaikainen Quick Tunnel tai ngrok-URL, joka muuttuu uudelleenkäynnistyksessä, ei sovi, koska GitHub tallentaa webhookin URL-osoitteen. Jos liitin toimii Dockerissa, anna sille host-verkko tai muu reitti, joka todella tavoittaa isännän yhdyskäytävän.

Tarkista palvelin ja aktivoi

  1. Napsauta Check server.
  2. Varmista, että Docker Engine, Docker Compose ja ehdotettu yhdyskäytäväportti läpäisevät valmiustarkistuksen.
  3. Jos valitsit hallitun Traefikin, varmista, että myös traefik-public-verkko läpäisee.
  4. Jos valitsit olemassa olevan välityspalvelimen tai vakaan tunnelin, viimeistele ulkoinen reitti täsmälleen siihen loopback-porttiin, joka tuloksessa näkyy.
  5. Napsauta Activate Auto Deploy.

Server Compass asentaa yhdyskäytävän ja workerin, luo yksityisen webhook-URL-osoitteen, tallentaa allekirjoitussalaisuuden palvelimelle, luo webhookin GitHubiin, lähettää GitHub-pingin ja odottaa onnistunutta allekirjoitettua toimitusta. Tila etenee vaiheiden Installed, Routed, Hooked, Verified ja Active kautta.

Jos asennus pysähtyy kohtaan Awaiting route, ajonaikainen ympäristö on jo asennettu, mutta GitHub ei vielä tavoita sitä. Viimeistele tai korjaa DNS-, TLS-, palomuuri/NAT-, proxy- tai tunnelireitti ja napsauta sitten Continue setup. Sovellusta ei tarvitse asentaa uudelleen.

Varmista automaattinen käyttöönotto

Varmista ensin, että julkinen health-päätepiste tavoittaa Server Compass -yhdyskäytävän:

curl -fsS https://deploy.example.com/healthz

Varmista sitten koko käyttöönottovirta:

  1. Avaa GitHubissa repositorio ja siirry kohtaan Settings > Webhooks.
  2. Avaa Server Compassin luoma webhook ja varmista, että sen viimeisin toimitus palautti 2xx-vastauksen.
  3. Pushaa pieni commit seurattuun haaraan.
  4. Avaa Server Compassissa sovelluksen käyttöönottohistoria ja varmista, että webhook-työ käytti pushattua commitia.
  5. Varmista, että käyttöön otettu sovellus sisältää muutoksen.

Tee lopputestinä täydellinen sulkeminen: lopeta Server Compass kokonaan, pushaa toinen commit seurattuun haaraan ja varmista sovellus uudelleen. Käyttöönoton pitäisi silti valmistua, koska yhdyskäytävä, jono ja worker toimivat palvelimella.

Aktiivisen webhookin hallinta

Automaattinen käyttöönotto -kortti tarjoaa nämä toiminnot:

  • Test webhook lähettää uuden GitHub-testitoimituksen ja päivittää sen tilan.
  • Rotate secret korvaa allekirjoitussalaisuuden sekä palvelimella että GitHub-webhookissa.
  • Pause säilyttää kohteen ja historian mutta pysäyttää automaattiset käyttöönotot; Resume ottaa ne uudelleen käyttöön.
  • Remove poistaa GitHub-webhookin ja sen etäkohdekäytännön mutta säilyttää käyttöönottohistorian.

Jos haluat vaihtaa seurattua repositoriota tai haaraa, poista automaattinen käyttöönotto ensin toiminnolla Remove, päivitä ja ota sovellus uudelleen käyttöön uudella repositoriolla tai haaralla ja määritä sitten automaattinen käyttöönotto uudelleen.

Vianetsintä ja tietoturva

  • Health-päätepiste epäonnistuu tai palauttaa 502/404: varmista DNS ja TLS, tarkista, että proxy tai tunneli osoittaa nykyiseen loopback-porttiin, ja varmista, että yhdyskäytäväkontti on käynnissä.
  • GitHub-toimitus ei ole 2xx: tarkastele webhookin viimeaikaista toimitusta, varmista, ettei mikään todennuskerros estä GitHubia, ja varmista, ettei proxy ole muuttanut raakaa runkoa tai poistanut GitHub-otsakkeita.
  • Push ei ota käyttöön: varmista, että automaattinen käyttöönotto on Active eikä Paused ja että push tehtiin täsmälleen seurattuun haaraan.
  • Tunneli toimi uudelleenkäynnistykseen asti: määritä nimetyn tunnelin liitin järjestelmäpalveluksi tai uudelleenkäynnistettäväksi kontiksi. Älä käytä väliaikaista URL-osoitetta.
  • Työpöytä on suljettu ja käyttöönotto epäonnistuu: tarkista, että palvelin on verkossa ja että Server Compassin yhdyskäytävä- ja worker-kontit ovat käynnissä.

Webhookin URL sisältää yksityisen reittitunnisteen, eikä sitä pidä julkaista. GitHub-toimitukset todennetaan HMAC-allekirjoitussalaisuudella, joka luodaan ja tallennetaan palvelimelle eikä sitä koskaan näytetä käyttöliittymässä. SSH:ta, Docker-sokettia tai yksityistä workeria ei tarvitse altistaa internetille.

Screenshots

Automaattinen käyttöönotto - Screenshot 1
Automaattinen käyttöönotto - Screenshot 2
Automaattinen käyttöönotto - Screenshot 3
Automaattinen käyttöönotto - Screenshot 4
Automaattinen käyttöönotto - Screenshot 5
Automaattinen käyttöönotto - Screenshot 6
Automaattinen käyttöönotto - Screenshot 7

Ready to try Server Compass?

Download the app and deploy your first application in under 5 minutes.

Download Server Compass