AppCenter en GitLab yntegraasje

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 in artikel. Dêrom kin myn artikel immen helpe.

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 hjir.
De oanmakke toetsen sjogge der sa út:
AppCenter en GitLab yntegraasje

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
AppCenter en GitLab yntegraasje

Geweldich, dan moatte jo de iepenbiere kaai tafoegje oan BitBucket. Om dit te dwaan, iepenje it repository en gean nei Ynstellings> Tagongskaaien.

AppCenter en GitLab yntegraasje

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.

AppCenter en GitLab yntegraasje

Spesifisearje de taal/platfoarm

AppCenter en GitLab yntegraasje

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

AppCenter en GitLab yntegraasje

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.

AppCenter en GitLab yntegraasje

Gean dan nei Ynstellings> Tagongsbehear> OAuth

AppCenter en GitLab yntegraasje

Klik op Ynlûke om jo akkount te ûntkeppeljen.

AppCenter en GitLab yntegraasje

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

AppCenter en GitLab yntegraasje

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

Add a comment