Julkaisu yksityisestä GitHub-repositoriosta
Jotta palvelun julkaisu voidaan automatisoida, sen lähdekoodien on oltava Rahti-palvelun build-työkalujen luettavissa.
Julkiseen GitHub-repositorioon lukuoikeus on kaikilla, siihen ei tarvita eri toimenpiteitä. Yksityisestä repositoriosta julkaisemista varten pitää lukuoikeus järjestää erikseen.
SSH-avaimen luominen
Julkaisua varten kannattaa luoda uusi SSH-avainpari juuri tätä projektia ja repositoriota varten. Henkilökohtaista SSH-avainta ei ole tarkoituksenmukaista käyttää julkaisuun, sillä julkaisuun tarvitaan yksityinen SSH-avain.
Luo sopivaan hakemistoon projektin ulkopuolella uusi avainpari. Salasanaa ei pidä määrittää.
ssh-keygen -C "rahti-build@repo-url" -f id_rahti_build -N=""
-C
lisää avaintiedostoon kommentin, josta selviää, mikä avain on kyseessä, tässärahti-build@repo-url
-f
määrittää tiedostonimen, tässäid_rahti_build
-N
määrittää, että ei käytetä salasanaa
Lisää julkinen avain GitHub-repositorioon GitHubin käyttöliittymässä. Esimerkissä luodussa avainparissa julkinen avain on tiedostossa nimeltä id_rahti_build.pub
.
Title on GitHubin käyttöliittymässä näkyvä nimi avaimelle. Julkaisuun ei tarvita kirjoitusoikeuksia.
Salaisuuden luominen projektiin
SSH-avain saadaan välitettyä turvallisesti projektin resursseille tallettamalla se projektiin salaisuutena (secret). Tällöin luottamukselliseen tietoon päästään projektissa käsiksi viittaamalla salaisuuteen, eikä sitä tarvitse toimintojen yhteydessä enää antaa.
Salaisuus voidaan luoda web-käyttöliittymässä tai komentorivillä.
Salaisuuden luominen komentorivillä
Esimerkissä salaisuuden nimi on github-secret
ja yksityinen avain on tiedostossa id_rahti_build
.
oc create secret generic github-secret --from-file=ssh-privatekey=id_rahti_build --type=kubernetes.io/ssh-auth
Avainsalaisuus pitää vielä liittää Rahdin builder-palveluun
oc secrets link builder github-secret