Tryam, helo!
Hoffwn siarad am fy mhrofiad wrth sefydlu integreiddio GitLab ac AppCenter trwy BitBucket.
Cododd yr angen am integreiddio o'r fath wrth sefydlu lansiad awtomatig o brofion UI ar gyfer prosiect traws-lwyfan ar Xamarin. Tiwtorial manwl o dan y toriad!
* Byddaf yn gwneud erthygl ar wahân am awtomeiddio profion UI mewn amodau traws-lwyfan os oes gan y cyhoedd ddiddordeb.
Dim ond un deunydd o'r fath wnes i ei gloddio
Gorchwyl: Sefydlu lansiad awtomatig o brofion UI ar AppCenter, o ystyried bod ein tîm yn defnyddio GitLab fel system rheoli fersiwn.
problem Daeth i'r amlwg nad yw AppCenter yn integreiddio'n uniongyrchol â GitLab. Dewiswyd ffordd osgoi trwy BitBucket fel un o'r atebion.
Camau
1. Creu ystorfa wag ar BitBucket
Dydw i ddim yn gweld yr angen i ddisgrifio hyn yn fwy manwl :)
2. Sefydlu GitLab
Mae angen i ni, wrth wthio / uno i mewn i'r ystorfa, newidiadau hefyd yn cael eu llwytho i fyny i BitBucket. I wneud hyn, ychwanegwch rhedwr (neu golygwch y ffeil .gitlab-ci.yml presennol).
Yn gyntaf rydym yn ychwanegu gorchmynion at yr adran before_scripts
- git config --global user.email "user@email"
- git config --global user.name "username"
Yna ychwanegwch y gorchymyn canlynol i'r cam a ddymunir:
- git push --mirror https://username:[email protected]/username/projectname.git
Yn fy achos i, dyma'r ffeil a gefais:
before_script:
- git config --global user.email "user@email"
- git config --global user.name "username"
stages:
- mirror
mirror:
stage: mirror
script:
- git push --mirror https://****:*****@bitbucket.org/****/testapp.git
Rydyn ni'n lansio'r adeilad, gwiriwch fod ein newidiadau / ffeiliau ar BitBucket.
* fel y dangosodd arfer, mae sefydlu allweddi SSH yn ddewisol. Ond, rhag ofn, byddaf yn darparu algorithm ar gyfer sefydlu cysylltiad trwy SSH isod
Cysylltu trwy SSH
Yn gyntaf mae angen i chi gynhyrchu allwedd SSH. Mae llawer o erthyglau wedi'u hysgrifennu am hyn. Er enghraifft, gallwch edrych
Mae'r bysellau a gynhyrchir yn edrych rhywbeth fel hyn:
Pellach Yr allwedd gyfrinachol angen ei ychwanegu fel newidyn i GitLab. I wneud hyn, ewch i Gosodiadau> CI/CD> Newidynnau Amgylcheddol. Ychwanegwch HOLL gynnwys y ffeil y gwnaethoch chi gadw'r allwedd gyfrinachol ynddi. Gadewch i ni alw'r newidyn SSH_PRIVATE_KEY.
* ni fydd gan y ffeil hon, yn wahanol i'r ffeil allwedd gyhoeddus, yr estyniad
Gwych, nesaf mae angen ichi ychwanegu'r allwedd gyhoeddus i BitBucket. I wneud hyn, agorwch y storfa ac ewch i Gosodiadau> Allweddi Mynediad.
Yma rydym yn clicio Ychwanegu Allwedd a mewnosod cynnwys y ffeil gyda'r allwedd gyhoeddus (ffeil gyda'r estyniad .pub).
Y cam nesaf yw defnyddio'r allweddi yn gitlab-runner. Defnyddiwch y gorchmynion hyn, ond rhowch eich manylion yn lle'r sêr
image: timbru31/node-alpine-git:latest
stages:
- mirror
before_script:
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- git config --global user.email "*****@***"
- git config --global user.name "****"
- ssh -T [email protected]
mirror:
stage: mirror
script:
- git push --mirror https://****:****@bitbucket.org/*****/*****.git
3. Sefydlu AppCenter
Rydyn ni'n creu cymhwysiad newydd ar AppCenter.
Nodwch yr iaith/platfform
Nesaf, ewch i adran Adeiladu y cymhwysiad sydd newydd ei greu. Yno rydym yn dewis BitBucket a'r ystorfa a grëwyd yng ngham 1.
Gwych, nawr mae angen i ni ffurfweddu'r adeilad. I wneud hyn, dewch o hyd i'r eicon gêr
Mewn egwyddor, mae popeth yno yn reddfol. Dewiswch brosiect a chyfluniad. Os oes angen, galluogwch lansiad profion ar ôl adeiladu. Byddant yn cychwyn yn awtomatig.
Yn y bôn, dyna i gyd. Mae'n swnio'n syml, ond, yn naturiol, ni fydd popeth yn mynd yn esmwyth. Felly, byddaf yn disgrifio rhai gwallau y deuthum ar eu traws wrth weithio:
Nid yw 'ssh-keygen' yn cael ei gydnabod fel gorchymyn mewnol nac allanol.
Mae hefyd yn digwydd oherwydd nad yw'r llwybr i ssh-keygen.exe yn cael ei ychwanegu at y newidynnau amgylchedd.
Mae dau opsiwn: ychwanegu C:Program FilesGitusrbin at Newidynnau Amgylcheddol (bydd yn cael ei gymhwyso ar ôl ailgychwyn y peiriant), neu lansio'r consol o'r cyfeiriadur hwn.
AppCenter wedi'i gysylltu â'r cyfrif BitBucket anghywir?
I ddatrys y broblem, mae angen i chi ddatgysylltu'ch cyfrif BitBucket o AppCenter. Rydyn ni'n mewngofnodi i'r cyfrif BitBucket anghywir ac yn mynd i'r proffil defnyddiwr.
Nesaf, ewch i Gosodiadau> Rheoli Mynediad> OAuth
Cliciwch Diddymu i ddatgysylltu'ch cyfrif.
Ar ôl hyn, mae angen i chi fewngofnodi gyda'r cyfrif BitBucket gofynnol.
* Fel dewis olaf, cliriwch storfa eich porwr hefyd.
Nawr, gadewch i ni fynd i AppCenter. ewch i'r adran Adeiladu, cliciwch Datgysylltu cyfrif BitBucket
Pan fydd yr hen gyfrif wedi'i ddatgysylltu, rydyn ni'n cysylltu AppCenter eto. Yn awr at y cyfrif dymunol.
nid yw 'eval' yn cael ei gydnabod fel gorchymyn mewnol nac allanol
Rydyn ni'n ei ddefnyddio yn lle gorchymyn
- eval $(ssh-agent -s)
Tîm:
- ssh-agent
Mewn rhai achosion, bydd yn rhaid i chi naill ai nodi'r llwybr llawn i C:Program FilesGitusrbinssh-agent.exe, neu ychwanegu'r llwybr hwn at newidynnau'r system ar y peiriant lle mae'r rhedwr yn rhedeg
Mae AppCenter Build yn ceisio lansio adeiladwaith ar gyfer prosiect o ystorfa bitBucket hen ffasiwn
Yn fy achos i, cododd y broblem oherwydd fy mod yn gweithio gyda chyfrifon lluosog. Penderfynais glirio'r storfa.
Ffynhonnell: hab.com