GCP - Cloud Build Enum
Taarifa Msingi
Google Cloud Build ni jukwaa la CI/CD lililosimamiwa linalo automatisha ujenzi wa programu na mchakato wa kutolewa, likiunganisha na hifadhi ya msimbo chanzo na kusaidia anuwai ya lugha za programu. Inaruhusu watengenezaji kujenga, kujaribu, na kutolea msimbo kiotomatiki huku ikitoa mabadiliko ya kubinafsisha hatua za ujenzi na mifumo ya kazi.
Kila Kichocheo cha Cloud Build kina husiana na Hifadhi ya Cloud au moja kwa moja inaunganishwa na hifadhi ya nje (Github, Bitbucket na Gitlab).
Sikuweza kuona njia yoyote ya kuiba token ya Github/Bitbucket kutoka hapa au kutoka kwa Hifadhi za Cloud kwa sababu wakati hifadhi inapopakuliwa inafikiwa kupitia URL ya https://source.cloud.google.com/ na Github haifikiwi na mteja.
Matukio
Cloud Build inaweza kuzinduliwa ikiwa:
Kupakia kwenye tawi: Eleza tawi
Kupakia lebo mpya: Eleza lebo
Ombi la Kuvuta: Eleza tawi linalopokea PR
Mwaliko wa Mwongozo
Ujumbe wa Pub/Sub: Eleza mada
Tukio la Webhook: Itafunua URL ya HTTPS na ombi lazima liwe limehakikiwa na siri
Utekelezaji
Kuna chaguzi 3:
Yaml/json inayoeleza amri za kutekeleza. Kawaida:
/cloudbuild.yaml
Moja tu inayoweza kuelezwa "moja kwa moja" kwenye konsoli ya wavuti na kwenye cli
Chaguo la kawaida zaidi
Muhimu kwa ufikiaji usiothibitishwa
Dockerfile ya kujenga
Buildpack ya kujenga
Ruhusa za SA
Akaunti ya Huduma ina wigo wa cloud-platform
, hivyo inaweza kutumia haki zote. Ikiwa hakuna SA inayoelezwa (kama wakati wa kuwasilisha) SA ya chaguo-msingi <nambari-ya-proj@cloudbuild.gserviceaccount.com
itatumika.
Kwa chaguo-msingi hakuna ruhusa zinazotolewa lakini ni rahisi kumpa baadhi:
Idhini
Inawezekana kusanidi Cloud Build kuhitaji idhini kwa utekelezaji wa ujenzi (imelemazwa kwa chaguo-msingi).
Idhini za PR
Wakati kichocheo ni PR kwa sababu yeyote anaweza kufanya PR kwa hifadhi za umma ingekuwa hatari sana kuruhusu tu utekelezaji wa kichocheo na PR yoyote. Kwa hivyo, kwa chaguo-msingi, utekelezaji utakuwa wa moja kwa moja kwa wamiliki na wenzake, na ili kutekeleza kichocheo na PR za watumiaji wengine mmiliki au mwenzake lazima atoe maoni /gcbrun
.
Uunganisho & Hifadhi
Uunganisho unaweza kuundwa kupitia:
GitHub: Itaonyesha dirisha la OAuth likiomba ruhusa ya kupata token ya Github ambayo itahifadhiwa ndani ya Meneja wa Siri.
GitHub Enterprise: Itaomba kusanikisha GithubApp. Tokeni ya uthibitishaji kutoka kwa mwenyeji wako wa GitHub Enterprise itaundwa na kuhifadhiwa katika mradi huu kama siri ya Meneja wa Siri.
GitLab / Enterprise: Unahitaji kutoa tokeni ya ufikiaji wa API na tokeni ya ufikiaji wa API ya Kusoma ambayo itahifadhiwa katika Meneja wa Siri.
Marapo uunganisho unapoundwa, unaweza kutumia ku unganisha hifadhi ambazo akaunti ya Github ina ufikiaji.
Chaguo hili linapatikana kupitia kitufe:
Tafadhali kumbuka kuwa hifadhi zilizounganishwa kwa njia hii zinapatikana tu katika Kichocheo kinachotumia 2nd generation.
Unganisha Hifadhi
Hii sio sawa na unganisho
. Hii inaruhusu njia tofauti za kupata ufikiaji wa hifadhi ya Github au Bitbucket lakini haisababishi kitu cha unganisho, lakini inazalisha kitu cha hifadhi (ya kizazi cha 1).
Chaguo hili linapatikana kupitia kitufe:
Uhifadhi
Wakati mwingine Cloud Build ita zalisha uhifadhi mpya kuhifadhi faili za kichocheo. Hii hutokea kwa mfano katika mfano ambao GCP inatoa na:
Chombo cha kuhifadhi kinachoitwa security-devbox_cloudbuild kimeundwa kuhifadhi .tgz
na faili zitakazotumika.
Pata ganda
Install gcloud ndani ya cloud build:
Uchambuzi
Unaweza kupata maarifa nyeti katika mipangilio ya ujenzi na kwenye magogo.
Kupandisha Mamlaka
pageGCP - Cloudbuild PrivescUpatikanaji usiothibitishwa
pageGCP - Cloud Build Unauthenticated EnumBaada ya Uchimbaji
pageGCP - Cloud Build Post ExploitationLast updated