AppCenter ati GitLab iṣọpọ

Gbiyanju, hello!

Emi yoo fẹ lati sọrọ nipa iriri mi ni ṣiṣeto GitLab ati Isopọpọ AppCenter nipasẹ BitBucket.

Iwulo fun iru iṣọkan bẹ dide nigbati o ṣeto ifilọlẹ aifọwọyi ti awọn idanwo UI fun iṣẹ akanṣe agbekọja lori Xamarin. Ikẹkọ alaye ni isalẹ gige!

* Emi yoo ṣe nkan lọtọ nipa adaṣe adaṣe UI ni awọn ipo agbelebu ti gbogbo eniyan ba nifẹ si.

Mo ti gbe iru ohun elo kan nikan nkan. Nitorinaa, nkan mi le ṣe iranlọwọ fun ẹnikan.

Nkan: Ṣeto ifilọlẹ aifọwọyi ti awọn idanwo UI lori AppCenter, fun pe ẹgbẹ wa nlo GitLab gẹgẹbi eto iṣakoso ẹya.

Isoro O wa ni pe AppCenter ko ṣepọ taara pẹlu GitLab. Fori nipasẹ BitBucket ti yan bi ọkan ninu awọn ojutu.

Awọn igbesẹ

1. Ṣẹda ibi ipamọ ti o ṣofo lori BitBucket

Emi ko rii iwulo lati ṣapejuwe eyi ni awọn alaye diẹ sii :)

2. Ṣiṣeto GitLab

A nilo pe nigba titari / dapọ sinu ibi ipamọ, awọn ayipada tun gbe si BitBucket. Lati ṣe eyi, ṣafikun olusare kan (tabi ṣatunkọ faili .gitlab-ci.yml ti o wa tẹlẹ).

Ni akọkọ a ṣafikun awọn aṣẹ si apakan ṣaaju_scripts

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

Lẹhinna ṣafikun aṣẹ atẹle si ipele ti o fẹ:

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

Ninu ọran mi, eyi ni faili ti Mo gba:

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

A ṣe ifilọlẹ kọ, ṣayẹwo pe awọn ayipada / awọn faili wa lori BitBucket.
* gẹgẹbi iṣe ti fihan, iṣeto awọn bọtini SSH jẹ iyan. Ṣugbọn, o kan ni ọran, Emi yoo pese algorithm kan fun eto asopọ nipasẹ SSH ni isalẹ

Asopọ nipasẹ SSH

Ni akọkọ o nilo lati ṣe ina bọtini SSH kan. Ọpọlọpọ awọn nkan ni a ti kọ nipa eyi. Fun apẹẹrẹ, o le wo nibi.
Awọn bọtini ti ipilẹṣẹ dabi nkan bi eyi:
AppCenter ati GitLab iṣọpọ

Nigbamii ti o wa Awọn ikoko bọtini nilo lati ṣafikun bi oniyipada si GitLab. Lati ṣe eyi, lọ si Eto> CI/CD> Awọn oniyipada Ayika. Ṣafikun GBOGBO akoonu ti faili ninu eyiti o ti fipamọ bọtini aṣiri naa. Jẹ ki a pe oniyipada SSH_PRIVATE_KEY.
* faili yii, ko dabi faili bọtini gbangba, kii yoo ni itẹsiwaju naa
AppCenter ati GitLab iṣọpọ

Nla, nigbamii o nilo lati ṣafikun bọtini gbogbo eniyan si BitBucket. Lati ṣe eyi, ṣii ibi ipamọ naa ki o lọ si Eto> Awọn bọtini Wiwọle.

AppCenter ati GitLab iṣọpọ

Nibi a tẹ bọtini Fikun-un ki o si fi awọn akoonu ti faili naa sii pẹlu bọtini gbangba (faili pẹlu itẹsiwaju .pub).

Igbesẹ ti o tẹle ni lati lo awọn bọtini ni gitlab-runner. Lo awọn aṣẹ wọnyi, ṣugbọn rọpo awọn ami akiyesi pẹlu awọn alaye rẹ

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. Eto soke AppCenter

A ṣẹda ohun elo tuntun lori AppCenter.

AppCenter ati GitLab iṣọpọ

Pato ede/Syeed

AppCenter ati GitLab iṣọpọ

Nigbamii, lọ si apakan Kọ ti ohun elo tuntun ti a ṣẹda. Nibẹ ni a yan BitBucket ati ibi ipamọ ti a ṣẹda ni igbesẹ 1.

Nla, bayi a nilo lati tunto Kọ. Lati ṣe eyi, wa aami jia

AppCenter ati GitLab iṣọpọ

Ni opo, ohun gbogbo ni ogbon inu. Yan ise agbese kan ati iṣeto ni. Ti o ba jẹ dandan, mu ifilọlẹ awọn idanwo ṣiṣẹ lẹhin kikọ. Wọn yoo bẹrẹ laifọwọyi.

Ni ipilẹ, iyẹn ni gbogbo. O dabi rọrun, ṣugbọn, nipa ti ara, ohun gbogbo kii yoo lọ laisiyonu. Nitorinaa, Emi yoo ṣe apejuwe diẹ ninu awọn aṣiṣe ti Mo pade lakoko ti n ṣiṣẹ:

'ssh-keygen' ko jẹ idanimọ bi aṣẹ inu tabi ita.

O tun waye nitori ọna si ssh-keygen.exe ko ṣe afikun si awọn oniyipada ayika.
Awọn aṣayan meji wa: ṣafikun C: Awọn faili EtoGitusrbin si Awọn iyipada Ayika (yoo ṣee lo lẹhin atunbere ẹrọ naa), tabi ṣe ifilọlẹ console lati itọsọna yii.

AppCenter ti sopọ si akọọlẹ BitBucket ti ko tọ?

Lati yanju iṣoro naa, o nilo lati yọ akọọlẹ BitBucket rẹ kuro lati AppCenter. A wọle sinu akọọlẹ BitBucket ti ko tọ ati lọ si profaili olumulo.

AppCenter ati GitLab iṣọpọ

Nigbamii, lọ si Eto> Isakoso Wiwọle> OAuth

AppCenter ati GitLab iṣọpọ

Tẹ Fagilee lati yọkuro akoto rẹ.

AppCenter ati GitLab iṣọpọ

Lẹhin eyi, o nilo lati wọle pẹlu akọọlẹ BitBucket ti o nilo.
* Bi ohun asegbeyin ti, tun ko aṣàwákiri rẹ kaṣe.

Bayi jẹ ki a lọ si AppCenter. lọ si apakan Kọ, tẹ Ge asopọ BitBucket iroyin

AppCenter ati GitLab iṣọpọ

Nigbati akọọlẹ atijọ ko ba sopọ, a tun sopọ AppCenter lẹẹkansi. Bayi si iroyin ti o fẹ.

'eval' ko ṣe idanimọ bi aṣẹ inu tabi ita

A lo o dipo pipaṣẹ

  - eval $(ssh-agent -s)

Egbe:

  - ssh-agent

Ni awọn igba miiran, iwọ yoo ni lati pato ọna kikun si C: Awọn faili Eto Gitusrbinssh-agent.exe, tabi ṣafikun ọna yii si awọn oniyipada eto lori ẹrọ nibiti olusare nṣiṣẹ.

AppCenter Kọ n gbiyanju lati ṣe ifilọlẹ iṣẹ akanṣe kan lati ibi ipamọ bitBucket ti igba atijọ

Ninu ọran mi, iṣoro naa dide nitori pe Mo n ṣiṣẹ pẹlu awọn akọọlẹ pupọ. Mo pinnu lati ko kaṣe naa kuro.

orisun: www.habr.com

Fi ọrọìwòye kun