Tere, tere pÀevast!
Soovin rÀÀkida oma kogemusest GitLabi ja AppCenteri integreerimise seadistamisel BitBucketiga.
Sellise integreerimise vajadus tekkis automaatsete UI testide kĂ€ivitamise seadistamisel plokiahelatööstuses Xamarin. Ăksikasjalik Ă”petus allpool!
* Kui publik huvitub, teen eraldi artikli UI testimise automatiseerimisest mitme platvormi tingimustes.
Sellist materjali leidsin ainult ĂŒhe . SeetĂ”ttu vĂ”ib minu artikkel kedagi aidata.
Ălesanne: Seada automaatsete UI testide kĂ€ivitamine AppCenteris, kui meie meeskond kasutab GitLabit versioonihaldussĂŒsteemina.
Probleem selgus, et AppCenter ei integreeru otse GitLabiga. Ăks lahendustest oli valitud ringtee kaudu BitBucket.
Sammud
1. Loome BitBucketis tĂŒhja repot.
Ma ei nĂ€e vajadust seda tĂ€psemalt kirjeldada đ
2. Seame ĂŒles GitLabi
Me peame tagama, et push/merge reposse kaasa tuleb ka BitBucketi. Selleks lisame runneri (vÔi redigeerime olemasolevat .gitlab-ci.yml faili).
Esmalt lisame kÀsud before_scripts sektsiooni
- git config --global user.email "user@email"
- git config --global user.name "username"SeejÀrel lisame jÀrgmise kÀsu vajalikku etappi:
- git push --mirror https://username:password@bitbucket.org/username/projectname.gitMinu puhul sai jÀrgnev fail
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.gitKĂ€ivitame build'i, kontrollime, et meie muudatused/failid on BitBucketis.
* nagu praktika nĂ€itas, SSH vĂ”tmete seadistamine ei ole kohustuslik. Kuid igaks juhuks annan allpool vĂ€lja SSH kaudu ĂŒhenduse seadistamise algoritmi.
SSH kaudu ĂŒhendamine
Esmalt tuleb genereerida SSH vÔtmed. Sellest on kirjutatud palju artikleid. NÀiteks vÔite vaadata .
Genereritud vÔtmed nÀevad vÀlja umbes sellised:

Edasi salajane vĂ”tme peab lisama muutujana GitLabi. Selleks lĂ€heme seadetesse > CI/CD > Keskkonnamuutujad. Lisame KĂIK faili sisu, kuhu salvestasite salajase vĂ”tme. Nimetame muutuja SSH_PRIVATE_KEY.
* see fail, erinevalt avaliku vÔtme failist, ei saa laienemist

SuurepÀrane, edasi tuleb lisada avalik vÔti BitBucketisse. Selleks avame repot, lÀheme seadete juurde > JuurdepÀÀsu vÔtmed.

Siin vajutame Lisa vÔtme ja kleepime avaliku vÔtme faili sisu (fail, millel on .pub laiend).
JÀrgmine samm on vÔtmete kasutamine gitlab-runneris. Kasutage neid kÀske, kuid asendage tÀhtedega oma andmed
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 git@bitbucket.org
mirror:
stage: mirror
script:
- git push --mirror https://****:****@bitbucket.org/*****/*.git3. AppCenteri seadistamine
Loome uue rakenduse AppCenteris.

MÀÀrame keele/platvorma

SeejÀrel lÀheme just loodud rakenduse Build sektsiooni. Valime seal BitBucketi ja Eelmisel etapil loodud hoidla.
SuurepĂ€rane, nĂŒĂŒd peame seadistama build'i. Selle jaoks otsime hammasratta ikooni

PĂ”himĂ”tteliselt on seal kĂ”ik intuitiivselt arusaadav. Valime projekti ja konfiguratsiooni. Vajadusel lĂŒlitame sisse testide kĂ€ivitamise pĂ€rast build'i. Need kĂ€ivitatakse automaatselt.
PÔhimÔtteliselt on see kÔik. KÔlab mitte keeruliselt, aga loomulikult ei suju kÔik sujuvalt. SeetÔttu kirjeldan mÔningaid vigu, millega olen oma töö kÀigus kokku puutunud:
âssh-keygenâ ei ole tunnustatud sisemise ega vĂ€lise kĂ€skuna.
See tekib seetÔttu, et teed ssh-keygen.exe-le ei ole lisatud keskkonnamuutujatesse.
On kaks vÔimalust: lisage C:Program FilesGitusrbin Enviroment Variables'i (rakendub pÀrast masina taaskÀivitamist), vÔi kÀivitage konsool sellest kataloogist.
AppCenter ei ole ĂŒhendatud Ă”ige BitBucketi kontoga?
Probleemi lahendamiseks tuleb BitBucketi konto AppCenterist eemaldada. Logime vale BitBucketi kontoga sisse ja lÀheme kasutaja profiili.

SeejÀrel lÀheme seadistustesse Settings > Access Management > OAuth

Klickige Revoke, et konto eemaldada.

PÀrast seda tuleb siseneda Ôigele BitBucketi kontole
* Viimase abinĂ”una on soovitatav ka brauseri vahemĂ€lu tĂŒhjendada
NĂŒĂŒd lĂ€heme AppCenterisse. liigume Build sektsiooni, klĂ”psame Disconnect BitBucket account

Kui vana konto on eemaldatud, seome AppCenteri uuesti. NĂŒĂŒd Ă”ige kontoga.
âevalâ ei ole tunnustatud sisemise ega vĂ€lise kĂ€skuna
Kasutagem selle asemel kÀsku
- eval $(ssh-agent -s)KĂ€sku:
- ssh-agentMĂ”nel juhul vĂ”ib olla vajalik kas mĂ€rkida tĂ€ielik tee C:Program FilesGitusrbinssh-agent.exe, vĂ”i lisada see tee sĂŒsteemi muutujatesse masinas, kus runner töötleb
AppCenter Build ĂŒritab kĂ€ivitada build'i projekti jaoks mitteaktuaalsest bitBucketi hoidlast
Minu puhul tekkis probleem seetÔttu, et töötasin mitme kontoga. Probleem lahendati vahemÀlu kustutamisega.
Allikas: habr.com
