AppCenter eta GitLab integrazioa

Tryam, kaixo!

BitBucket bidez GitLab eta AppCenter integrazioa konfiguratzean dudan esperientziaz hitz egin nahiko nuke.

Integrazio horren beharra sortu zen Xamarin-en plataforma anitzeko proiektu baterako UI probak automatikoki abiaraztean konfiguratzean. Tutorial zehatza ebakiaren azpian!

* Banako artikulu bat egingo dut plataforma anitzeko baldintzetan UI probak automatizatzeari buruz, publikoa interesa bada.

Horrelako material bakarra atera nuen artikulu bat. Horregatik, nire artikuluak norbait lagun dezake.

Task: Konfiguratu UI probak abiarazteko automatikoa AppCenter-en, gure taldeak GitLab erabiltzen duela bertsio-kontrol sistema gisa.

arazoa Agertu zen AppCenter ez dela GitLab-ekin zuzenean integratzen. BitBucket bidezko saihesbidea irtenbideetako bat aukeratu zen.

urrats

1. Sortu biltegi huts bat BitBucket-en

Ez dut hau zehatzago deskribatzeko beharrik ikusten :)

2. GitLab konfiguratzea

Biltegira bultzatzean/bateratzean, aldaketak BitBucket-era ere igotzen dira. Horretarako, gehitu korrikalari bat (edo editatu lehendik dagoen .gitlab-ci.yml fitxategia).

Lehenik eta behin komandoak gehitzen ditugu before_scripts atalean

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

Ondoren, gehitu komando hau nahi duzun fasera:

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

Nire kasuan, hau da lortu dudan fitxategia:

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

Eraikuntza abiarazten dugu, egiaztatu gure aldaketak/fitxategiak BitBucket-en daudela.
* Praktikak erakutsi duen bezala, SSH gakoak konfiguratzea aukerakoa da. Baina, badaezpada, SSH bidez konexio bat konfiguratzeko algoritmo bat emango dut behean

SSH bidez konektatzen

Lehenik eta behin SSH gako bat sortu behar duzu. Artikulu asko idatzi dira honi buruz. Adibidez, begiratu dezakezu Hemen.
Sortutako gakoek honelako itxura dute:
AppCenter eta GitLab integrazioa

Gehiago Gako sekretua GitLab-en aldagai gisa gehitu behar da. Horretarako, joan Ezarpenak > CI/CD > Inguruko aldagaiak atalera. Gehitu gako sekretua gorde duzun fitxategiaren eduki GUZTIA. Dei diezaiogun SSH_PRIVATE_KEY aldagaiari.
* fitxategi honek, gako publikoaren fitxategiak ez bezala, ez du luzapenik izango
AppCenter eta GitLab integrazioa

Bikaina, hurrengo gako publikoa gehitu behar duzu BitBucket-en. Horretarako, ireki biltegia eta joan Ezarpenak > Sarbide-gakoak atalera.

AppCenter eta GitLab integrazioa

Hemen Gehitu gakoa sakatu eta fitxategiaren edukia gako publikoarekin txertatuko dugu (.pub luzapena duen fitxategia).

Hurrengo urratsa giltzak erabiltzea da gitlab-runner-en. Erabili komando hauek, baina ordezkatu izartxoak zure xehetasunekin

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 konfiguratzea

Aplikazio berri bat sortzen dugu AppCenter-en.

AppCenter eta GitLab integrazioa

Zehaztu hizkuntza/plataforma

AppCenter eta GitLab integrazioa

Ondoren, joan sortu berri den aplikazioaren Eraiki atalera. Bertan BitBucket eta 1. urratsean sortutako biltegia hautatuko ditugu.

Bikaina, orain konfigurazioa konfiguratu behar dugu. Horretarako, bilatu engranajearen ikonoa

AppCenter eta GitLab integrazioa

Printzipioz, han dena intuitiboa da. Hautatu proiektu bat eta konfigurazioa. Beharrezkoa bada, gaitu probak abiarazteko eraikitze ondoren. Automatikoki hasiko dira.

Funtsean, hori da dena. Sinplea dirudi, baina, jakina, dena ez da ondo joango. Hori dela eta, lanean ari nintzenean aurkitu ditudan akats batzuk deskribatuko ditut:

'ssh-keygen' ez da barneko edo kanpoko komando gisa ezagutzen.

Gainera, ssh-keygen.exe-rako bidea ingurune-aldagaietan gehitzen ez delako gertatzen da.
Bi aukera daude: gehitu C:Program FilesGitusrbin Inguruneko aldagaietara (makina berrabiarazi ondoren aplikatuko da), edo abiarazi kontsola direktorio honetatik.

AppCenter BitBucket kontu okerrera konektatuta?

Arazoa konpontzeko, zure BitBucket kontua AppCenter-etik deslotu behar duzu. BitBucket-eko kontu okerrean saioa hasi eta erabiltzailearen profilera joaten gara.

AppCenter eta GitLab integrazioa

Ondoren, joan Ezarpenak > Sarbideen kudeaketa > OAuth atalera

AppCenter eta GitLab integrazioa

Sakatu Errebokatu kontua lotura kentzeko.

AppCenter eta GitLab integrazioa

Horren ondoren, behar den BitBucket kontuarekin saioa hasi behar duzu.
* Azken aukera gisa, garbitu arakatzailearen cachea ere.

Orain goazen AppCenter-era. joan Eraiki atalera, egin klik Deskonektatu BitBucket kontua

AppCenter eta GitLab integrazioa

Kontu zaharra deskonektatzen denean, AppCenter lotuko dugu berriro. Orain nahi duzun kontura.

'eval' ez da barneko edo kanpoko komando gisa ezagutzen

Komando baten ordez erabiltzen dugu

  - eval $(ssh-agent -s)

Taldea:

  - ssh-agent

Zenbait kasutan, C:Program FilesGitusrbinssh-agent.exe-rako bide osoa zehaztu beharko duzu, edo bide hau exekutatzen ari den makinako sistema-aldagaietan gehitu beharko duzu.

AppCenter Build proiektu baten eraikuntza bat abiarazten saiatzen ari da bitBucket biltegi zaharkitu batetik

Nire kasuan, arazoa hainbat konturekin lanean ari nintzelako sortu zen. Cachea garbitzea erabaki nuen.

Iturria: www.habr.com

Gehitu iruzkin berria