Hauv kev tso tawm 12.10, GitLab qhia lub peev xwm los txais thiab hloov cov yuam sij rau CI txoj haujlwm siv GitLab tus tuav haujlwm (GitLab khiav). Tam sim no peb tab tom nthuav dav authentication siv JWT, ntxiv cov syntax tshiab secrets ua ntaub ntawv .gitlab-ci.yml. Qhov no yuav ua rau nws yooj yim dua los teeb tsa thiab siv HashiCorp chaw cia khoom nrog GitLab.
GitLab kev koom ua ke nrog Kubernetes tau ntev ua rau nws muaj peev xwm xa mus rau Kubernetes pawg yam tsis tas yuav tsum muaj kev teeb tsa ntawm phau ntawv. Ntau tus neeg siv nyiam qhov yooj yim ntawm kev siv cov pob no, thaum lwm tus ntsib qee qhov teeb meem. Rau kev sib koom ua ke tam sim no, koj pawg yuav tsum nkag tau los ntawm Is Taws Nem kom GitLab nkag mus rau nws. Rau ntau lub koom haum, qhov no tsis tuaj yeem ua tau vim tias lawv txwv kev nkag mus rau pawg rau kev nyab xeeb, kev ua raws cai, lossis kev tswj hwm vim li cas. Txhawm rau kom tau txais cov kev txwv no, cov neeg siv xav tau los tsim lawv cov cuab yeej saum toj ntawm GitLab, txwv tsis pub lawv yuav tsis tuaj yeem siv cov yam ntxwv no.
Hnub no peb tab tom qhia GitLab Kubernetes Agent, txoj hauv kev tshiab los xa mus rau Kubernetes pawg. Tus neeg sawv cev khiav hauv koj pawg, yog li koj tsis tas yuav nthuav tawm nws mus rau tag nrho Is Taws Nem. Tus neeg sawv cev tswj hwm kev xa tawm los ntawm kev thov kev hloov pauv tshiab los ntawm GitLab, tsis yog GitLab thawb hloov tshiab rau pawg. Tsis muaj teeb meem dab tsi GitOps koj siv, GitLab tau them rau koj.
Thov nco ntsoov tias qhov no yog thawj qhov kev tso tawm ntawm tus neeg sawv cev. Peb lub hom phiaj tam sim no rau GitLab Kubernetes Tus Neeg Saib Xyuas yog los teeb tsa thiab tswj kev xa tawm los ntawm cov lej. Qee qhov kev sib koom ua ke Kubernetes uas twb muaj lawm, xws li xa mus rau pawg thawj coj saib thiab GitLab tswj cov ntawv thov, tseem tsis tau txais kev txhawb nqa. Peb xav tiastias cov peev txheej no yuav raug ntxiv rau tus neeg sawv cev hauv kev tshaj tawm yav tom ntej, nrog rau kev sib koom ua ke tshiab tsom rau kev ruaj ntseg thiab kev ua raws cai.
Thaum tshuaj xyuas qhov kev thov sib koom ua ke, nws tuaj yeem nyuaj rau kev txiav txim siab seb tus lej hloov pauv puas raug them los ntawm chav ntsuas. Hloov chaw, cov neeg tshuaj xyuas tuaj yeem tso siab rau tag nrho cov kev pab them nqi thiab thov kom nws nce ntxiv ua ntej pom zoo thov kev sib koom ua ke. Qhov no tuaj yeem ua rau txoj hauv kev tsis txaus ntseeg rau kev xeem sau ntawv, uas yuav tsis ua kom zoo dua cov lej lossis cov ntawv xeem.
Tam sim no, thaum saib qhov kev thov sib koom ua ke sib txawv, koj yuav pom qhov pom kev pom ntawm cov cai tswj hwm. Cov cim tshiab yuav tso cai rau koj kom nkag siab sai sai seb qhov kev hloov pauv tau them los ntawm kev sim ntsuas, uas yuav pab ua kom ceev cov lej tshuaj xyuas thiab lub sijhawm ntawm kev sib koom ua ke thiab siv cov cai tshiab.
API fuzzing testing yog ib txoj hauv kev zoo los nrhiav cov kab thiab qhov tsis zoo hauv koj lub vev xaib thiab APIs uas lwm cov scanners thiab cov kev sim yuav plam.
API fuzzing xeem hauv GitLab tso cai rau koj los muab OpenAPI v2 specification los yog HAR file koj daim ntawv thov thiab tom qab ntawd cia li tsim cov ntaub ntawv tawm tswv yim sib txawv tsim los ntsuas cov xwm txheej thiab pom kab. Cov txiaj ntsig tau pom tam sim hauv koj lub kav dej.
Nov yog peb thawj API fuzz kev sim tso tawm thiab peb xav hnov ββββqhov koj xav. Peb muaj ntau hauv Tshuag rau fuzz kuaj ntau lub tswv yim, uas peb yuav ua raws li qhov kev tso tawm ntawm no feature.
Thaum koj tswj hwm ntau qhov haujlwm hauv GitLab, koj xav tau ib qhov chaw ntawm cov ntaub ntawv hais txog yuav ua li cas cov cai tswjfwm hloov pauv lub sijhawm hla txhua qhov haujlwm. Yav dhau los, tso tawm cov ntaub ntawv no yuav tsum tau ua haujlwm hnyav thiab siv sijhawm siv sijhawm: koj yuav tsum rub tawm cov ntaub ntawv pov thawj code los ntawm txhua qhov haujlwm thiab muab tso rau hauv ib lub rooj.
Hauv kev tso tawm 13.4, nws tau los ua kom yooj yim thiab nrawm sib dhos .csv ua ntaub ntawv nrog tag nrho cov ntaub ntawv nyob rau hauv code kev pab them nqi rau tag nrho cov tej yaam num ntawm pab pawg neeg los yog rau ib tug xaiv ntawm tej yaam num. Qhov no feature yog MVC, nws yuav ua raws li los ntawm lub peev xwm cov phiaj xwm nruab nrab qhov kev pab cuam dhau sijhawm.
Cov koom haum tsom mus rau kev ua raws cai xav tau ib txoj hauv kev los qhia cov neeg soj ntsuam kom pom qhov sib luag ntawm cov khoom cuam tshuam nrog kev hloov pauv hauv kev tsim khoom. Hauv GitLab, qhov no txhais tau tias sau txhua yam hauv ib qho chaw: sib koom ua ke thov, daim pib, kav dej, kev soj ntsuam kev nyab xeeb, thiab lwm yam ntaub ntawv cog lus. Txog tam sim no, koj yuav tsum tau sau nws hauv GitLab lossis teeb tsa koj cov cuab yeej los sau cov ntaub ntawv, uas tsis muaj txiaj ntsig zoo.
Tam sim no koj tuaj yeem sau thiab xa tawm cov ntaub ntawv no kom ua tau raws li qhov yuav tsum tau kuaj xyuas lossis ua lwm yam kev tshuaj xyuas. Txhawm rau xa cov npe ntawm txhua qhov kev sib koom ua ke rau pawg tam sim no, koj yuav tsum mus rau Ua raws li Dashboards thiab nyem rau ntawm lub pob Daim ntawv teev tag nrho cov kev sib koom ua ke. Cov ntaub ntawv tshwm sim yuav muaj tag nrho cov lus cog tseg ntawm kev thov sib koom ua ke, lawv tus kws sau ntawv, ID ntawm kev sib koom ua ke thov, pab pawg, qhov project, kev lees paub thiab lwm yam ntaub ntawv.
Ob peb lub hlis dhau los peb tau tshaj tawm txoj kev npaj rau kev txhais lus ntawm 18 nta rau hauv qhib qhov chaws. Los ntawm kev ua haujlwm kom xa cov lus cog tseg no, peb tau ua daim pib muaj feem, export daim pib rau CSV ΠΈ ua haujlwm board tsom hom (nyob rau hauv Lavxias teb sab localization ntawm GitLab "sib tham sib tham") muaj nyob rau hauv lub Core plan. Qhov no tsuas yog siv rau "txuas mus" kev sib raug zoo; "blocks" thiab "blocked" kev sib raug zoo tseem nyob hauv cov phiaj xwm them nyiaj.
Thaum tshuaj xyuas cov cai hloov pauv, kev sib tham, thiab kev thov sib koom ua ke, nws yog qhov xav tau los ua qhov kev txheeb xyuas hauv cheeb tsam ntawm ceg rau kev tshuaj xyuas tob dua. Txawm li cas los xij, nrhiav lub npe xov yuav nyuaj zuj zus vim tias cov ntsiab lus ntxiv ntxiv rau kev sib koom ua ke thov piav qhia thiab koj yuav tsum mus txuas ntxiv mus rau nplooj ntawv.
Peb tau ntxiv cov npe ceg rau qhov kev thov sib koom ua ke, ua rau nws nkag tau txhua lub sijhawm thiab tshem tawm qhov xav tau los ntawm tag nrho nplooj ntawv. Ib yam li qhov txuas mus rau qhov kev thov sib koom ua ke, lub hauv paus ceg ntu muaj qhov yooj yim "copy" khawm.
Nyob rau hauv lub merge thov diffs seem, cov ntaub ntawv loj yog vau los txhim kho kev ua tau zoo. Txawm li cas los xij, thaum tshuaj xyuas cov cai, qee cov ntaub ntawv yuav ploj thaum tus neeg tshuaj xyuas scrolls los ntawm cov npe ntawm cov ntaub ntawv, txij li tag nrho cov ntaub ntawv loj tau tawg.
Peb tau ntxiv cov lus ceeb toom pom nyob rau sab saum toj ntawm nplooj ntawv thov sib koom ua ke kom qhia rau cov neeg siv tias muaj cov ntaub ntawv sib koom ua ke hauv ntu no. Ua li no, koj yuav tsis nco ib qho kev hloov pauv rau daim ntawv thov kev sib koom ua ke thaum saib xyuas.
Yav dhau los, thaum lub hauv paus ntawm ib pawg Gitaly mus offline, cov chaw khaws cia ntawm cov node tau cim tias nyeem nkaus xwb. Qhov no tiv thaiv cov ntaub ntawv poob hauv cov xwm txheej uas muaj kev hloov pauv ntawm cov node uas tseem tsis tau rov ua dua. Thaum cov node rov qab los hauv online, GitLab tsis tau rov qab los, thiab cov thawj coj yuav tsum pib ua cov txheej txheem synchronization lossis lees txais cov ntaub ntawv poob. Lwm qhov xwm txheej, xws li kev ua tsis tiav ntawm txoj haujlwm rov ua dua ntawm qhov chaw thib ob, kuj tuaj yeem ua rau cov chaw khaws cia lossis nyeem nkaus xwb. Nyob rau hauv cov ntaub ntawv no, lub repository tseem stale mus txog rau thaum lub tom ntej no sau ua hauj lwm tshwm sim, uas yuav pib lub replication txoj hauj lwm.
Kom daws tau qhov teeb meem no Praefect tam sim no teem sijhawm ua haujlwm rov ua dua thaum nws pom qhov chaw cia khoom qub ntawm ib lub ntawm thiab qhov tseeb version ntawm qhov chaw khaws cia rau lwm qhov. Txoj haujlwm replication no ua rau lub chaw cia khoom mus txog hnub tuaj yeem, tshem tawm qhov xav tau los kho cov ntaub ntawv manually. Kev rov ua haujlwm tsis siv neeg kuj tseem ua kom ntseeg tau tias cov nodes theem nrab tau coj mus rau hnub tim yog tias txoj haujlwm rov ua tsis tiav, tsis yog tos rau kev sau ntawv tom ntej. Txij li ntau pawg Gilaly khaws ntau qhov chaw khaws cia, qhov no txo ββqis lub sijhawm uas cov thawj coj thiab cov kws ua haujlwm ntseeg tau siv rov qab cov ntaub ntawv tom qab qhov yuam kev.
Cov neeg tsim khoom yuav tsum tuaj yeem pom tus lej them tus nqi tom qab lub raj xa dej tau ua tiav - txawm tias nyob rau hauv cov xwm txheej nyuaj xws li khiav lub raj xa dej nrog ntau txoj haujlwm uas yuav tsum tau muab xam los xam cov nqi them. Yav dhau los, daim ntawv thov kev sib koom ua ke tsuas yog qhia qhov nruab nrab ntawm cov txiaj ntsig no, uas txhais tau tias koj yuav tsum tau mus rau nplooj ntawv ua haujlwm thiab rov qab mus rau qhov kev thov sib koom ua ke kom tau txais cov txiaj ntsig nruab nrab. Txhawm rau txuag koj lub sijhawm thiab cov kauj ruam ntxiv no, peb tau ua lub widget tso saib tus nqi nruab nrab, nws cov kev hloov pauv ntawm lub hom phiaj thiab cov ceg ntoo, thiab cov lus qhia uas qhia txog tus nqi them rau txhua txoj haujlwm raws li qhov nruab nrab tau suav.
GitLab pob ntawv sau npe yog qhov chaw khaws thiab faib cov pob hauv ntau hom. Thaum koj muaj ntau pob khoom hauv koj qhov project lossis pab pawg, koj yuav tsum tau txheeb xyuas cov pob khoom uas tsis siv thiab tshem tawm kom tsis txhob muaj neeg rub tawm. Koj tuaj yeem tshem cov pob ntawm koj lub npe ntawm Pob API los yog los ntawm pob ntawv sau npe neeg siv interface. Txawm li cas los xij, txog tam sim no koj tsis tuaj yeem tshem cov pob thaum saib ib pab pawg los ntawm UI. Raws li qhov tshwm sim, koj yuav tsum tshem tawm cov pob khoom tsis tsim nyog ntawm ib qhov project, uas tsis muaj txiaj ntsig.
Tam sim no koj tuaj yeem tshem tawm cov pob thaum saib ib pab pawg cov npe ntawm pob. Tsuas yog mus rau pawg pab pawg nplooj ntawv sau npe, lim cov pob khoom los ntawm lub npe, thiab tshem tawm yam koj tsis xav tau.
Koj tuaj yeem siv Conan repository hauv GitLab los tshaj tawm thiab faib C / C ++ kev vam khom. Txawm li cas los xij, yav tas los pob tsuas tuaj yeem ntsuas rau qib piv txwv, raws li Conan pob lub npe tuaj yeem yog qhov siab tshaj ntawm 51 cim. Yog tias koj xav tshaj tawm ib pob los ntawm ib pab pawg, piv txwv gitlab-org/ci-cd/package-stage/feature-testing/conan, nws yuav luag ua tsis tau.
Tam sim no koj tuaj yeem ntsuas cov pob Conan mus rau theem ntawm qhov project, ua kom yooj yim tshaj tawm thiab faib koj cov haujlwm 'dependencies.
Yav dhau los, thaum teeb tsa qhov kev thov sib koom ua ke Ua ke thaum lub raj xa dej tiav (Merge Thaum Pipeline Succeeds, MWPS) tsis muaj email ceeb toom xa. Koj yuav tsum manually tshawb xyuas cov xwm txheej lossis tos kom muaj kev ceeb toom sib koom ua ke. Nrog rau qhov kev tso tawm no peb txaus siab los nthuav qhia cov neeg siv kev koom tes @ravishankar2kool, uas daws qhov teeb meem no los ntawm kev ntxiv cov ntawv ceeb toom tsis siv neeg rau txhua tus tau sau npe rau kev thov kev sib koom ua ke thaum tus neeg tshuaj xyuas hloov qhov kev sib koom ua ke rau MWPS.
GitLab, raws li ib daim ntawv thov, muaj lub peev xwm tshwj xeeb los ua kom pom cov ntsiab lus hla koj tag nrho DevOps ua haujlwm nrawm. Hauv GitLab 13.4, kev tshawb nrhiav qib siab rov qab tau 75% sai dua thaum nws txwv rau qee lub npe thiab cov haujlwm, as on GitLab.com.
Yav dhau los, pab pawg thawb txoj cai tsuas tuaj yeem teeb tsa los ntawm kev mus xyuas txhua pab pawg ntawm tus kheej los ntawm GitLab UI thiab siv cov cai no. Tam sim no koj tuaj yeem tswj hwm cov cai no ntawm API los txhawb koj cov cuab yeej kev cai thiab GitLab automation.
Ib pawg Gitaly tso cai rau koj rov ua dua Git repositories rau ntau qhov "sov" Gitaly nodes. Qhov no ua rau kom muaj kev ua txhaum cai los ntawm kev tshem tawm ib qho kev ua tsis tiav. Kev lag luam kev lag luam, tau qhia hauv GitLab 13.3, ua rau muaj kev hloov pauv mus rau txhua qhov Gitaly nodes hauv pawg, tab sis tsuas yog Gitaly nodes uas pov npav pom zoo nrog cov thawj ntawm khaws cov kev hloov pauv rau disk. Yog tias tag nrho cov replica nodes tsis pom zoo, tsuas yog ib daim qauv ntawm kev hloov pauv yuav raug muab khaws cia rau hauv disk, tsim ib qho kev ua tsis tiav kom txog thaum asynchronous replication tiav.
Kev pov npav feem ntau txhim kho kev ua txhaum cai los ntawm kev xav tau kev tso cai los ntawm feem ntau ntawm cov nodes (tsis yog tag nrho) ua ntej txuag kev hloov pauv rau disk. Yog tias qhov kev hloov pauv no tau qhib, kev sau ntawv yuav tsum ua tiav ntawm ntau lub nodes. Cov nodes tsis pom zoo tau txais synchronized siv asynchronous replication los ntawm cov nodes uas tau tsim ib pawg.
Cov phiaj xwm uas tib neeg sau cov teeb tsa hauv JSON lossis YAML feem ntau ua rau muaj teeb meem vim nws yooj yim los ua typo thiab ua txhaum qee yam. Nws muaj peev xwm sau cov cuab yeej tshuaj xyuas kom ntes cov teeb meem no hauv CI pipeline, tab sis siv cov ntaub ntawv JSON schema tuaj yeem pab tau los muab cov ntaub ntawv thiab cov lus qhia.
Qee qhov xwm txheej, kev poob haujlwm hauv lub raj xa dej tuaj yeem raug txiav txim siab ua tiav rau kev vam khom tau teev tseg hauv needs, uas ua rau cov hauj lwm tom qab khiav, uas yuav tsum tsis muaj tshwm sim. Tus cwj pwm no tau raug kho nyob rau hauv version 13.4, thiab needs tam sim no kom raug lis haujlwm ntawm cov haujlwm uas tsis tau ua tiav.
GitLab tam sim no cia li kaw txoj haujlwm ua tiav kawg thiab cov khoom siv hluav taws xob rau ntawm txhua ceg haujlwm, sib koom ua ke thov, lossis tag los tiv thaiv nws los ntawm kev tshem tawm tom qab tas sijhawm. Nws yooj yim dua los teeb tsa cov kev cai nruj tshaj plaws kom tshem tawm cov khoom qub. Qhov no yuav pab txo qis qhov chaw siv disk thiab xyuas kom meej tias koj ib txwm muaj daim ntawv theej ntawm cov khoom qub tshiab los ntawm cov kav dej.
Optimizing koj CI / CD pipeline tuaj yeem txhim kho kev xa khoom ceev thiab txuag nyiaj. Peb tau txhim kho peb cov ntaub ntawv kom suav nrog cov lus qhia ceev kom tau txais txiaj ntsig zoo tshaj plaws ntawm kev ua kom zoo dua koj cov kav dej.
Unit Test Report yog ib txoj hauv kev yooj yim kom pom cov txiaj ntsig ntawm txhua qhov kev ntsuam xyuas hauv lub raj xa dej. Txawm li cas los xij, nrog rau ntau qhov kev sim, nrhiav kev ua tsis tiav tuaj yeem siv sijhawm ntev. Lwm cov teeb meem uas tuaj yeem ua rau daim ntawv ceeb toom nyuaj siv suav nrog kev nyuaj los ntawm cov kab tawm ntev thiab lub sijhawm hloov mus rau xoom rau cov kev sim uas khiav hauv tsawg dua 1 thib ob. Tam sim no, los ntawm lub neej ntawd, thaum txheeb cov ntawv xeem, nws thawj qhov chaw sim ua tsis tiav thaum pib ntawm tsab ntawv ceeb toom, thiab tom qab ntawd txheeb cov kev xeem los ntawm lub sijhawm. Qhov no ua rau nws yooj yim dua los nrhiav kev ua tsis tiav thiab kev sim ntev. Tsis tas li ntawd, lub sijhawm ntsuas tam sim no tau tshwm sim hauv milliseconds lossis vib nas this, ua rau lawv nyeem sai dua, thiab cov teeb meem scrolling dhau los kuj tau raug daws.
Koj tuaj yeem siv GitLab PyPI repository los tsim, tshaj tawm, thiab sib qhia Python tej pob khoom nrog rau qhov chaws thiab CI / CD pipelines. Txawm li cas los xij, yav dhau los koj tsis tuaj yeem lees paub rau lub chaw khaws ntaub ntawv siv qhov hloov pauv ib puag ncig ua ntej CI_JOB_TOKEN. Yog li ntawd, koj yuav tsum tau siv koj tus kheej cov ntaub ntawv pov thawj los hloov kho PyPI chaw cia khoom, lossis koj yuav tau txiav txim siab tsis siv lub chaw khaws cia tag nrho.
Nws yog tam sim no yooj yim dua los siv GitLab CI / CD los tshaj tawm thiab nruab PyPI pob khoom siv qhov kev hloov pauv ib puag ncig ua ntej CI_JOB_TOKEN.
Rau qhov xav tau DAST scan uas yog qhia hauv kev tso tawm dhau los, DAST scanner profiles tau ntxiv lawm. Lawv txuas ntxiv lub peev xwm configuration ntawm cov scans, tso cai rau koj kom sai sai tsim ntau yam profiles los npog ntau hom scan. Nyob rau hauv 13.4, tus crawler profile ib txwm muaj xws li lub sij hawm ntawm crawler uas teev ntev npaum li cas DAST crawler yuav tsum khiav raws li nws sim mus nrhiav tau tag nrho cov nplooj ntawv ntawm ib qhov chaw nkag mus. Qhov profile kuj suav nrog lub hom phiaj lub sijhawm teem sijhawm teem sijhawm ntev npaum li cas tus neeg nkag nkag yuav tsum tos lub xaib kom nkag mus tau ua ntej rho tawm qhov nkag yog tias lub vev xaib tsis teb nrog 200 lossis 300 tus lej raws li txoj cai. Raws li peb txuas ntxiv txhim kho Qhov no yuav yog. ntxiv rau lub scanner profile hauv kev tshaj tawm yav tom ntej; cov kev teeb tsa ntxiv yuav raug ntxiv.
Yog tias koj siv GitLab Nplooj ntawv thiab xav tswj hwm qhov hloov pauv URL zoo dua, tej zaum koj yuav tau pom tias kev tswj kev hloov pauv ntawm koj lub vev xaib GitLab Pages tsis tuaj yeem ua tau. GitLab tam sim no tso cai rau koj los teeb tsa cov cai los hloov ib qho URL mus rau lwm qhov rau koj qhov chaw nplooj ntawv los ntawm kev ntxiv cov ntaub ntawv teeb tsa rau lub chaw cia khoom. Qhov no feature yog ua tau ua tsaug rau kev koom tes ntawm Kevin Barnett (@PopeDrFreud), peb Eric Eastwood (@MadLittleMods) thiab GitLab pab pawg. Ua tsaug rau sawv daws pab txhawb nqa.
GitLab thiab GitLab Runner tam sim no txhawb nqa Azure blob cia, ua kom yooj yim rau kev khiav GitLab cov kev pabcuam ntawm Azure.
GitLab piv txwv txhawb Azure rau txhua hom khw muag khoom, suav nrog LFS cov ntaub ntawv, CI artifacts, thiab thaub qab. Txhawm rau teeb tsa Azure Blob cia, ua raws li cov lus qhia kev teeb tsa Omnibus los yog Helm daim duab.
Cov npav ntse, xws li Daim Npav Nkag Nkag (CAC), tam sim no tuaj yeem siv los txheeb xyuas qhov tseeb ntawm GitLab piv txwv siv los ntawm Helm daim ntawv. Daim npav ntse tau lees paub tiv thaiv cov ntaub ntawv hauv zos siv X.509 daim ntawv pov thawj. Nrog rau qhov no, kev txhawb nqa daim npav ntse nrog Helm daim ntawv tam sim no nyob rau hauv txoj kab nrog kev txhawb nqa daim npav ntse muaj nyob rau hauv Omnibus xa tawm.