AppCenter un GitLab integrācija

Tryam, sveiks!

Es vēlētos runāt par savu pieredzi, iestatot GitLab un AppCenter integrāciju, izmantojot BitBucket.

NepiecieÅ”amÄ«ba pēc Ŕādas integrācijas radās, iestatot automātisku lietotāja interfeisa testu palaiÅ”anu starpplatformu projektam Xamarin. Detalizēta apmācÄ«ba zem griezuma!

* Ja sabiedrÄ«ba ir ieinteresēta, es izveidoÅ”u atseviŔķu rakstu par lietotāja interfeisa testÄ“Å”anas automatizāciju starpplatformu apstākļos.

Es izraku tikai vienu tādu materiālu raksts. Tāpēc mans raksts var kādam palīdzēt.

Uzdevums: iestatiet automātisku lietotāja interfeisa testu palaiÅ”anu pakalpojumā AppCenter, ņemot vērā, ka mÅ«su komanda izmanto GitLab kā versiju kontroles sistēmu.

problēma IzrādÄ«jās, ka AppCenter tieÅ”i neintegrējas ar GitLab. Kā viens no risinājumiem tika izvēlēts apiet, izmantojot BitBucket.

Soļi

1. BitBucket izveidojiet tukÅ”u repozitoriju

Neredzu vajadzību to sīkāk aprakstīt :)

2. GitLab iestatÄ«Å”ana

Mums ir nepiecieÅ”ams, lai, nospiežot / apvienojot repozitorijā, izmaiņas tiktu augÅ”upielādētas arÄ« BitBucket. Lai to izdarÄ«tu, pievienojiet palaidēju (vai rediģējiet esoÅ”o .gitlab-ci.yml failu).

Vispirms sadaļai before_scripts pievienojam komandas

 - git config --global user.email "user@email"
 - git config --global user.name "username"

Pēc tam pievienojiet Å”o komandu vajadzÄ«gajam posmam:

- git push --mirror https://username:[email protected]/username/projectname.git

Manā gadījumā Ŕis ir iegūtais fails:

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

Mēs palaižam būvējumu, pārbaudām, vai mūsu izmaiņas/faili ir BitBucket.
* Kā liecina prakse, SSH atslēgu iestatÄ«Å”ana nav obligāta. Bet katram gadÄ«jumam zemāk sniegÅ”u algoritmu savienojuma iestatÄ«Å”anai, izmantojot SSH

Savienojums caur SSH

Vispirms jums ir jāģenerē SSH atslēga. Par to ir rakstÄ«ti daudzi raksti. Piemēram, jÅ«s varat skatÄ«ties Å”eit.
Ä¢enerētās atslēgas izskatās apmēram Ŕādi:
AppCenter un GitLab integrācija

Tālāk Slepenā atslēga jāpievieno kā mainīgais GitLab. Lai to izdarītu, dodieties uz Iestatījumi > CI/CD > Vides mainīgie. Pievienojiet VISU tā faila saturu, kurā saglabājāt slepeno atslēgu. Izsauksim mainīgo SSH_PRIVATE_KEY.
* Å”im failam, atŔķirÄ«bā no publiskās atslēgas faila, nebÅ«s paplaÅ”inājuma
AppCenter un GitLab integrācija

Lieliski, pēc tam BitBucket jāpievieno publiskā atslēga. Lai to izdarītu, atveriet repozitoriju un dodieties uz Iestatījumi > Piekļuves atslēgas.

AppCenter un GitLab integrācija

Å eit mēs noklikŔķiniet uz Pievienot atslēgu un ievietojam faila saturu ar publisko atslēgu (fails ar paplaÅ”inājumu .pub).

Nākamais solis ir izmantot atslēgas programmā gitlab-runner. Izmantojiet Ŕīs komandas, bet aizstājiet zvaigznÄ«tes ar savu informāciju

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. AppCenter iestatīŔana

Mēs izveidojam jaunu lietojumprogrammu AppCenter.

AppCenter un GitLab integrācija

Norādiet valodu/platformu

AppCenter un GitLab integrācija

Pēc tam atveriet jaunizveidotās lietojumprogrammas sadaļu Build. Tur mēs atlasām BitBucket un 1. darbībā izveidoto repozitoriju.

Lieliski, tagad mums ir jākonfigurē būvējums. Lai to izdarītu, atrodiet zobrata ikonu

AppCenter un GitLab integrācija

Principā tur viss ir intuitÄ«vi. Izvēlieties projektu un konfigurāciju. Ja nepiecieÅ”ams, iespējojiet testu palaiÅ”anu pēc bÅ«vÄ“Å”anas. Tie sāksies automātiski.

BÅ«tÄ«bā tas arÄ« viss. Izklausās vienkārÅ”i, bet, protams, viss nenotiks gludi. Tāpēc es aprakstÄ«Å”u dažas kļūdas, ar kurām saskāros darba laikā:

'ssh-keygen' netiek atpazÄ«ta kā iekŔēja vai ārēja komanda.

Tas notiek arÄ« tāpēc, ka ceļŔ uz ssh-keygen.exe nav pievienots vides mainÄ«gajiem.
Ir divas iespējas: pievienot vides mainÄ«gajiem C:Program FilesGitusrbin (tiks lietots pēc maŔīnas pārstartÄ“Å”anas) vai palaist konsoli no Ŕī direktorija.

AppCenter ir izveidots savienojums ar nepareizo BitBucket kontu?

Lai atrisinātu problēmu, jums ir jāatvieno BitBucket konts no AppCenter. Mēs piesakāmies nepareizajā BitBucket kontā un dodamies uz lietotāja profilu.

AppCenter un GitLab integrācija

Pēc tam dodieties uz IestatÄ«jumi > Piekļuves pārvaldÄ«ba > OAuth

AppCenter un GitLab integrācija

NoklikŔķiniet uz Atsaukt, lai atsaistītu savu kontu.

AppCenter un GitLab integrācija

Pēc tam jums jāpiesakās ar nepiecieÅ”amo BitBucket kontu.
* Kā pēdējo lÄ«dzekli iztÄ«riet arÄ« pārlÅ«kprogrammas keÅ”atmiņu.

Tagad ejam uz AppCenter. dodieties uz sadaļu Build, noklikŔķiniet uz Atvienot BitBucket kontu

AppCenter un GitLab integrācija

Kad vecais konts ir atsaistīts, mēs atkal saistām AppCenter. Tagad dodieties uz vēlamo kontu.

ā€œevalā€ netiek atpazÄ«ts kā iekŔēja vai ārēja komanda

Mēs to izmantojam komandas vietā

  - eval $(ssh-agent -s)

Komanda:

  - ssh-agent

Dažos gadÄ«jumos jums bÅ«s jānorāda pilns ceļŔ uz C:Program FilesGitusrbinssh-agent.exe vai jāpievieno Å”is ceļŔ sistēmas mainÄ«gajiem datorā, kurā darbojas palaidējs.

AppCenter Build mēģina palaist projekta bÅ«vējumu no novecojuÅ”as bitBucket krātuves

Manā gadÄ«jumā problēma radās tāpēc, ka strādāju ar vairākiem kontiem. Es nolēmu notÄ«rÄ«t keÅ”atmiņu.

Avots: www.habr.com

Pievieno komentāru