AppCenter ug GitLab integration

Tryam, hello!

Gusto nakong hisgutan ang akong kasinatian sa pag-set up sa GitLab ug AppCenter integration pinaagi sa BitBucket.

Ang panginahanglan alang sa ingon nga panagsama mitungha sa dihang nag-set up sa awtomatikong paglansad sa mga pagsulay sa UI alang sa usa ka cross-platform nga proyekto sa Xamarin. Detalyadong tutorial sa ubos sa cut!

* Maghimo ako usa ka lahi nga artikulo bahin sa pag-automate sa pagsulay sa UI sa mga kondisyon sa cross-platform kung interesado ang publiko.

Usa ra ang akong gikalot sa ingon nga materyal usa ka artikulo. Busa, ang akong artikulo mahimong makatabang sa usa ka tawo.

Tumong: I-set up ang awtomatik nga paglansad sa mga pagsulay sa UI sa AppCenter, tungod kay ang among team naggamit sa GitLab isip sistema sa pagkontrol sa bersyon.

problema Nahibal-an nga ang AppCenter wala direkta nga nag-integrate sa GitLab. Ang Bypass pinaagi sa BitBucket gipili isip usa sa mga solusyon.

Mga Lakang

1. Paghimo og walay sulod nga repository sa BitBucket

Dili nako kinahanglan nga ihulagway kini sa mas detalyado :)

2. Pag-set up sa GitLab

Kinahanglan namon nga kung magduso / maghiusa sa repository, ang mga pagbag-o gi-upload usab sa BitBucket. Aron mahimo kini, pagdugang usa ka runner (o usba ang naglungtad nga .gitlab-ci.yml file).

Una atong idugang ang mga sugo sa before_scripts nga seksyon

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

Dayon idugang ang mosunod nga sugo sa gusto nga yugto:

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

Sa akong kaso, kini ang file nga akong nakuha:

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

Gilunsad namo ang pagtukod, susiha nga ang among mga pagbag-o / mga file naa sa BitBucket.
* sama sa gipakita sa praktis, ang pag-set up sa mga yawe sa SSH kay opsyonal. Apan, kung mahimo, maghatag ako usa ka algorithm alang sa pag-set up sa usa ka koneksyon pinaagi sa SSH sa ubos

Pagkonektar pinaagi sa SSH

Una kinahanglan nimo nga maghimo usa ka yawe sa SSH. Daghang mga artikulo ang gisulat bahin niini. Pananglitan, mahimo nimong tan-awon dinhi.
Ang namugna nga mga yawe sama niini:
AppCenter ug GitLab integration

dugang pa Ang sekreto nga yawe kinahanglan idugang ingon usa ka variable sa GitLab. Aron mahimo kini, adto sa Settings> CI/CD> Environment Variables. Idugang ang TANAN nga sulod sa file diin imong gitipigan ang sekreto nga yawe. Tawgon nato ang variable nga SSH_PRIVATE_KEY.
* kini nga payl, dili sama sa public key file, walay extension
AppCenter ug GitLab integration

Maayo, sunod kinahanglan nimo nga idugang ang yawe sa publiko sa BitBucket. Aron mahimo kini, ablihi ang repository ug adto sa Settings> Access Keys.

AppCenter ug GitLab integration

Dinhi atong i-klik ang Add Key ug isulod ang mga sulod sa file gamit ang public key (file nga adunay extension .pub).

Ang sunod nga lakang mao ang paggamit sa mga yawe sa gitlab-runner. Gamita kini nga mga sugo, apan ilisan ang mga asterisk sa imong mga detalye

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. Pag-set up sa AppCenter

Naghimo kami usa ka bag-ong aplikasyon sa AppCenter.

AppCenter ug GitLab integration

Ipiho ang pinulongan/plataporma

AppCenter ug GitLab integration

Sunod, adto sa seksyon sa Pagtukod sa bag-ong nahimo nga aplikasyon. Didto gipili namon ang BitBucket ug ang repository nga gihimo sa lakang 1.

Maayo, karon kinahanglan naton nga i-configure ang pagtukod. Aron mahimo kini, pangitaa ang icon sa gear

AppCenter ug GitLab integration

Sa prinsipyo, ang tanan nga adunay intuitive. Pagpili og proyekto ug pag-configure. Kung gikinahanglan, i-enable ang paglansad sa mga pagsulay pagkahuman sa pagtukod. Awtomatiko silang magsugod.

Sa panguna, mao ra kana. Kini paminawon nga yano, apan, natural, ang tanan dili hapsay. Busa, akong ihulagway ang pipila ka mga sayop nga akong nasugatan samtang nagtrabaho:

Ang 'ssh-keygen' wala giila isip usa ka internal o eksternal nga sugo.

Nahitabo usab kini tungod kay ang agianan sa ssh-keygen.exe wala idugang sa mga variable sa palibot.
Adunay duha ka kapilian: idugang ang C:Program FilesGitusrbin sa Environment Variables (i-apply human sa pag-reboot sa makina), o ilunsad ang console gikan niini nga direktoryo.

Ang AppCenter konektado sa sayop nga BitBucket account?

Aron masulbad ang problema, kinahanglan nimo nga i-unlink ang imong BitBucket account gikan sa AppCenter. Nag log in mi sa sayop nga BitBucket account ug adto sa user profile.

AppCenter ug GitLab integration

Sunod, adto sa Settings> Access Management> OAuth

AppCenter ug GitLab integration

I-klik ang Bawi aron ma-unlink ang imong account.

AppCenter ug GitLab integration

Human niini, kinahanglan ka nga mag-log in gamit ang gikinahanglan nga BitBucket account.
* Isip usa ka katapusan nga paagi, hawanan usab ang cache sa imong browser.

Karon adto ta sa AppCenter. adto sa Build section, click Disconnect BitBucket account

AppCenter ug GitLab integration

Kung ma-unlink ang daan nga account, among gi-link ang AppCenter pag-usab. Karon sa gusto nga account.

Ang 'eval' wala giila isip usa ka internal o eksternal nga sugo

Gigamit namo kini imbes nga sugo

  - eval $(ssh-agent -s)

Team:

  - ssh-agent

Sa pipila ka mga kaso, kinahanglan nimo nga ipiho ang tibuuk nga agianan sa C: Program FilesGitusrbinssh-agent.exe, o idugang kini nga agianan sa mga variable sa sistema sa makina diin nagdagan ang runner.

Ang AppCenter Build naningkamot nga maglunsad og usa ka pagtukod alang sa usa ka proyekto gikan sa usa ka karaan nga bitBucket repository

Sa akong kaso, nitumaw ang problema tungod kay nagtrabaho ko sa daghang mga account. Nakahukom ko sa paghawan sa cache.

Source: www.habr.com

Idugang sa usa ka comment