AppCenter na ujumuishaji wa GitLab

Tryam, habari!

Ningependa kuzungumza juu ya uzoefu wangu katika kusanidi ujumuishaji wa GitLab na AppCenter kupitia BitBucket.

Haja ya ujumuishaji kama huo iliibuka wakati wa kusanidi uzinduzi wa kiotomatiki wa majaribio ya UI kwa mradi wa jukwaa-msingi kwenye Xamarin. Mafunzo ya kina chini ya kata!

* Nitafanya makala tofauti kuhusu kupima kiolesura kiotomatiki katika hali ya majukwaa mtambuka ikiwa umma utavutiwa.

Nilichimba nyenzo moja tu kama hiyo nakala. Kwa hiyo, makala yangu inaweza kusaidia mtu.

Kazi: Sanidi uzinduzi wa kiotomatiki wa majaribio ya UI kwenye AppCenter, ikizingatiwa kuwa timu yetu hutumia GitLab kama mfumo wa kudhibiti toleo.

tatizo Ilibadilika kuwa AppCenter haiunganishi moja kwa moja na GitLab. Bypass kupitia BitBucket ilichaguliwa kama moja ya suluhisho.

Π¨Π°Π³ΠΈ

1. Unda hazina tupu kwenye BitBucket

Sioni hitaji la kuelezea hili kwa undani zaidi :)

2. Kuweka GitLab

Tunahitaji hiyo wakati wa kusukuma/kuunganisha kwenye hifadhi, mabadiliko pia yanapakiwa kwenye BitBucket. Ili kufanya hivyo, ongeza kiendeshaji (au hariri faili iliyopo ya .gitlab-ci.yml).

Kwanza tunaongeza amri kwenye sehemu ya before_scripts

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

Kisha ongeza amri ifuatayo kwa hatua unayotaka:

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

Kwa upande wangu, hii ndio faili niliyopata:

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

Tunazindua muundo, angalia kuwa mabadiliko/faili zetu ziko kwenye BitBucket.
* kama mazoezi yameonyesha, kusanidi funguo za SSH ni chaguo. Lakini, ikiwa tu, nitatoa algorithm ya kusanidi muunganisho kupitia SSH hapa chini

Inaunganisha kupitia SSH

Kwanza unahitaji kutengeneza kitufe cha SSH. Makala nyingi zimeandikwa kuhusu hili. Kwa mfano, unaweza kuangalia hapa.
Vifunguo vilivyotengenezwa vinaonekana kama hii:
AppCenter na ujumuishaji wa GitLab

Zaidi ya Ufunguo wa siri inahitaji kuongezwa kama kibadilishaji kwa GitLab. Ili kufanya hivyo, nenda kwa Mipangilio> CI/CD> Vigezo vya Mazingira. Ongeza yaliyomo YOTE ya faili ambayo umehifadhi ufunguo wa siri. Wacha tuite kigeuzo SSH_PRIVATE_KEY.
* faili hii, tofauti na faili ya ufunguo wa umma, haitakuwa na kiendelezi
AppCenter na ujumuishaji wa GitLab

Kubwa, ijayo unahitaji kuongeza ufunguo wa umma kwa BitBucket. Ili kufanya hivyo, fungua hifadhi na uende kwa Mipangilio> Funguo za Ufikiaji.

AppCenter na ujumuishaji wa GitLab

Hapa tunabofya Ongeza Ufunguo na kuingiza maudhui ya faili kwa ufunguo wa umma (faili yenye kiendelezi .pub).

Hatua inayofuata ni kutumia funguo kwenye gitlab-runner. Tumia amri hizi, lakini badala ya nyota na maelezo yako

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. Kuanzisha AppCenter

Tunaunda programu mpya kwenye AppCenter.

AppCenter na ujumuishaji wa GitLab

Bainisha lugha/jukwaa

AppCenter na ujumuishaji wa GitLab

Ifuatayo, nenda kwenye sehemu ya Unda ya programu mpya iliyoundwa. Huko tunachagua BitBucket na hazina iliyoundwa katika hatua ya 1.

Kubwa, sasa tunahitaji kusanidi muundo. Ili kufanya hivyo, pata ikoni ya gia

AppCenter na ujumuishaji wa GitLab

Kimsingi, kila kitu hapo ni angavu. Chagua mradi na usanidi. Ikiwa ni lazima, wezesha uzinduzi wa vipimo baada ya kujenga. Wataanza moja kwa moja.

Kimsingi, hiyo ndiyo yote. Inaonekana rahisi, lakini, kwa kawaida, kila kitu hakitaenda vizuri. Kwa hivyo, nitaelezea makosa kadhaa ambayo nilikutana nayo wakati wa kufanya kazi:

'ssh-keygen' haitambuliwi kama amri ya ndani au nje.

Pia hutokea kwa sababu njia ya ssh-keygen.exe haijaongezwa kwa anuwai za mazingira.
Kuna chaguo mbili: ongeza C:Program FilesGitusrbin kwa Vigezo vya Mazingira (itatumika baada ya kuwasha upya mashine), au uzindua dashibodi kutoka saraka hii.

AppCenter imeunganishwa kwenye akaunti isiyo sahihi ya BitBucket?

Ili kutatua tatizo, unahitaji kutenganisha akaunti yako ya BitBucket kutoka kwa AppCenter. Tunaingia kwenye akaunti isiyo sahihi ya BitBucket na kwenda kwenye wasifu wa mtumiaji.

AppCenter na ujumuishaji wa GitLab

Ifuatayo, nenda kwa Mipangilio > Udhibiti wa Ufikiaji > OAuth

AppCenter na ujumuishaji wa GitLab

Bofya Batilisha ili kutenganisha akaunti yako.

AppCenter na ujumuishaji wa GitLab

Baada ya hayo, unahitaji kuingia na akaunti inayohitajika ya BitBucket.
* Kama hatua ya mwisho, pia futa akiba ya kivinjari chako.

Sasa wacha tuende kwa AppCenter. nenda kwenye sehemu ya Kujenga, bofya Tenganisha akaunti ya BitBucket

AppCenter na ujumuishaji wa GitLab

Wakati akaunti ya zamani imetenganishwa, tunaunganisha AppCenter tena. Sasa kwa akaunti inayotaka.

'eval' haitambuliwi kama amri ya ndani au nje

Tunatumia badala ya amri

  - eval $(ssh-agent -s)

Timu:

  - ssh-agent

Katika baadhi ya matukio, itabidi ubainishe njia kamili ya C:Program FilesGitusrbinssh-agent.exe, au uongeze njia hii kwenye vijiwezo vya mfumo kwenye mashine ambapo kiendeshaji kinaendesha.

AppCenter Build inajaribu kuzindua ujenzi wa mradi kutoka kwa hazina ya zamani ya bitBucket

Kwa upande wangu, shida ilitokea kwa sababu nilikuwa nikifanya kazi na akaunti nyingi. Niliamua kufuta kashe.

Chanzo: mapenzi.com

Kuongeza maoni