Tryam, hallo!
Ik wol graach prate oer myn ûnderfining by it ynstellen fan GitLab en AppCenter-yntegraasje fia BitBucket.
De needsaak foar sokke yntegraasje ûntstie by it ynstellen fan automatyske lansearring fan UI-tests foar in cross-platform-projekt op Xamarin. Detaillearre tutorial ûnder de besuniging!
* Ik sil in apart artikel meitsje oer it automatisearjen fan UI-testen yn cross-platform-betingsten as it publyk ynteressearre is.
Ik haw mar ien sa'n materiaal opgroeven
Objective: Stel automatyske lansearring fan UI-tests op AppCenter yn, jûn dat ús team GitLab brûkt as ferzjekontrôlesysteem.
probleem It die bliken dat AppCenter net direkt yntegrearret mei GitLab. Bypass fia BitBucket waard keazen as ien fan 'e oplossingen.
Steps
1. Meitsje in lege repository op BitBucket
Ik sjoch de needsaak net om dit yn mear detail te beskriuwen :)
2. It ynstellen fan GitLab
Wy hawwe dat nedich by it triuwen / gearfoegjen yn it repository, wizigingen wurde ek upload nei BitBucket. Om dit te dwaan, foegje in runner ta (of bewurkje it besteande .gitlab-ci.yml-bestân).
Earst foegje wy kommando's ta oan 'e before_scripts seksje
- git config --global user.email "user@email"
- git config --global user.name "username"
Foegje dan it folgjende kommando ta oan it winske poadium:
- git push --mirror https://username:[email protected]/username/projectname.git
Yn myn gefal is dit it bestân dat ik krige:
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
Wy starte de build, kontrolearje dat ús wizigingen / bestannen op BitBucket binne.
* lykas praktyk hat sjen litten, is it ynstellen fan SSH-kaaien opsjoneel. Mar, foar it gefal, sil ik hjirûnder in algoritme leverje foar it ynstellen fan in ferbining fia SSH
Ferbine fia SSH
Earst moatte jo in SSH-kaai generearje. In protte artikels binne skreaun oer dit. Jo kinne bygelyks sjen
De oanmakke toetsen sjogge der sa út:
fierder De geheime kaai moat wurde tafoege as in fariabele oan GitLab. Om dit te dwaan, gean nei Ynstellings> CI/CD> Omjouwingsfariabelen. Foegje ALLE ynhâld ta fan it bestân wêryn jo de geheime kaai opslein hawwe. Litte wy de fariabele SSH_PRIVATE_KEY neame.
* dizze triem, yn tsjinstelling ta de iepenbiere kaai triem, sil net hawwe de tafoeging
Geweldich, dan moatte jo de iepenbiere kaai tafoegje oan BitBucket. Om dit te dwaan, iepenje it repository en gean nei Ynstellings> Tagongskaaien.
Hjir klikke wy op Add Key en ynfoegje de ynhâld fan it bestân mei de iepenbiere kaai (bestân mei de tafoeging .pub).
De folgjende stap is om de kaaien te brûken yn gitlab-runner. Brûk dizze kommando's, mar ferfange de asterisken mei jo details
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. It ynstellen fan AppCenter
Wy meitsje in nije applikaasje op AppCenter.
Spesifisearje de taal/platfoarm
Gean dan nei de Build-seksje fan 'e nij oanmakke applikaasje. Dêr selektearje wy BitBucket en it repository makke yn stap 1.
Geweldich, no moatte wy de bou konfigurearje. Om dit te dwaan, sykje it gearbyldkaike
Yn prinsipe is alles yntuïtyf. Selektearje in projekt en konfiguraasje. Aktivearje as it nedich is de lansearring fan tests nei de bou. Se sille automatysk begjinne.
Yn prinsipe is dat alles. It klinkt ienfâldich, mar, fansels, alles sil net flot gean. Dêrom sil ik guon flaters beskriuwe dy't ik tsjinkaam by it wurkjen:
'ssh-keygen' wurdt net erkend as in ynterne of eksterne kommando.
It komt ek foar om't it paad nei ssh-keygen.exe net tafoege wurdt oan de omjouwingsfariabelen.
D'r binne twa opsjes: foegje C:Program FilesGitusrbin ta oan Omjouwingsfariabelen (sil tapast wurde nei it opnij opstarten fan 'e masine), of start de konsole út dizze map.
AppCenter ferbûn mei it ferkearde BitBucket-akkount?
Om it probleem op te lossen, moatte jo jo BitBucket-akkount losmeitsje fan AppCenter. Wy ynlogge yn it ferkearde BitBucket-akkount en gean nei it brûkersprofyl.
Gean dan nei Ynstellings> Tagongsbehear> OAuth
Klik op Ynlûke om jo akkount te ûntkeppeljen.
Hjirnei moatte jo ynlogge mei it fereaske BitBucket-akkount.
* As lêste ynstânsje, wiskje ek jo blêder-cache.
Litte wy no nei AppCenter gean. gean nei de Build-seksje, klikje BitBucket-akkount ôfbrekke
As it âlde akkount net keppele is, keppelje wy AppCenter opnij. No nei it winske akkount.
'eval' wurdt net erkend as in ynterne of eksterne kommando
Wy brûke it ynstee fan in kommando
- eval $(ssh-agent -s)
Ploech:
- ssh-agent
Yn guon gefallen moatte jo it folsleine paad nei C: Program FilesGitusrbinssh-agent.exe opjaan, of dit paad tafoegje oan de systeemfariabelen op 'e masine wêr't de runner rint
AppCenter Build besiket in build te starten foar in projekt fan in ferâldere bitBucket-repository
Yn myn gefal ûntstie it probleem om't ik mei meardere akkounts wurke. Ik besleat de cache te wiskjen.
Boarne: www.habr.com