Automaattinen käyttöönotto
Ota käyttöön jokainen push seuraamaasi GitHub-haaraan palvelimellasi jatkuvasti käynnissä olevan webhook-workerin kautta.
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
- Ota Server Compassissa repositorio käyttöön GitHub-sovelluksena.
- Valitse käyttöönoton aikana Build on VPS.
- Avaa käyttöön otettu sovellus ja siirry kohtaan Deployments.
- Etsi Automaattinen käyttöönotto -kortti ja napsauta Set up Auto Deploy.
- Syötä julkinen webhook-isäntänimi. Käytä vain isäntänimeä tai HTTPS-originia, esimerkiksi
deploy.example.comtaihttps://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
- Napsauta Check server.
- Varmista, että Docker Engine, Docker Compose ja ehdotettu yhdyskäytäväportti läpäisevät valmiustarkistuksen.
- Jos valitsit hallitun Traefikin, varmista, että myös
traefik-public-verkko läpäisee. - Jos valitsit olemassa olevan välityspalvelimen tai vakaan tunnelin, viimeistele ulkoinen reitti täsmälleen siihen loopback-porttiin, joka tuloksessa näkyy.
- 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:
- Avaa GitHubissa repositorio ja siirry kohtaan Settings > Webhooks.
- Avaa Server Compassin luoma webhook ja varmista, että sen viimeisin toimitus palautti
2xx-vastauksen. - Pushaa pieni commit seurattuun haaraan.
- Avaa Server Compassissa sovelluksen käyttöönottohistoria ja varmista, että webhook-työ käytti pushattua commitia.
- 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







Ready to try Server Compass?
Download the app and deploy your first application in under 5 minutes.
Download Server Compass