Habari, habari!
Ningependa kushiriki uzoefu wangu wa kuanzisha ujumuishaji kati ya GitLab na AppCenter kupitia BitBucket.
Haja ya muunganisho huu iliibuka wakati wa kusanidi utekelezaji wa jaribio la UI kiotomatiki kwa mradi wa Xamarin wa jukwaa. Mafunzo ya kina ni hapa chini!
* Nitaandika nakala tofauti kuhusu upimaji wa kiolesura otomatiki katika mazingira ya jukwaa ikiwa umma unavutiwa.
Nilichimba nyenzo moja tu kama hiyo . 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. Njia ya kufanya kazi kupitia BitBucket ilichaguliwa kama moja ya suluhisho.
Шаги
1. Unda hazina tupu kwenye BitBucket
Sioni haja yoyote ya kuelezea hili kwa undani zaidi 🙂
2. Kuweka GitLab
Tunataka mabadiliko kusukumwa/kuunganishwa kwenye hazina na pia kusukumwa hadi BitBucket. Ili kufanya hivyo, tunaongeza mkimbiaji (au kuhariri faili iliyopo ya .gitlab-ci.yml).
Kwanza, ongeza amri kwenye sehemu ya before_scripts.
- git config --global user.email "user@email"
- git config --global user.name "username"Kisha tunaongeza amri ifuatayo kwa hatua inayotaka:
- git push --mirror https://username:password@bitbucket.org/username/projectname.gitKwa upande wangu, nilipata faili kama hii
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.gitTunaendesha muundo na kuangalia kuwa mabadiliko/faili zetu zimepakiwa kwenye BitBucket.
* Kama mazoezi yameonyesha, kusanidi vitufe vya SSH ni hiari. Lakini ikiwa tu, nitatoa algorithm ya kusanidi muunganisho kupitia SSH hapa chini.
Inaunganisha kupitia SSH
Kwanza, unahitaji kutoa ufunguo wa SSH. Kuna makala nyingi kuhusu hili. Kwa mfano, unaweza kuangalia .
Vifunguo vilivyotengenezwa vinaonekana kama hii:

Zaidi ya ufunguo wa siri Unahitaji kuiongeza kama tofauti katika GitLab. Ili kufanya hivyo, nenda kwa Mipangilio> CI/CD> Vigezo vya Mazingira. Ongeza yaliyomo yote ya faili ambapo ulihifadhi ufunguo wa siri. Wacha tuite kigeuzo SSH_PRIVATE_KEY.
* Faili hii, tofauti na faili ya ufunguo wa umma, haitakuwa na kiendelezi

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

Hapa tunabofya Ongeza Ufunguo na ubandike yaliyomo kwenye faili kwa ufunguo wa umma (faili yenye kiendelezi cha .pub).
Hatua inayofuata ni kutumia funguo kwenye gitlab-runner. Tumia amri hizi, lakini badala ya nyota na data yako mwenyewe.
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 git@bitbucket.org
mirror:
stage: mirror
script:
- git push --mirror https://****:****@bitbucket.org/*****/*****.git3. Kuanzisha AppCenter
Unda programu mpya kwenye AppCenter.

Bainisha lugha/jukwaa

Ifuatayo, nenda kwenye sehemu ya Unda ya programu mpya iliyoundwa. Chagua BitBucket na hazina iliyoundwa katika hatua ya 1.
Kubwa, sasa tunahitaji kusanidi muundo. Ili kufanya hivyo, pata ikoni ya gia.

Kimsingi, kila kitu ni angavu. Chagua mradi na usanidi. Ikiwa ni lazima, wezesha vipimo baada ya kujenga. Wataendesha moja kwa moja.
Hiyo ndiyo kimsingi. Inaonekana rahisi, lakini kwa kawaida, yote hayataenda vizuri. Kwa hivyo, nitaelezea baadhi ya makosa niliyokutana nayo njiani:
'ssh-keygen' haitambuliwi kama amri ya ndani au nje.
Hii pia hutokea kwa sababu njia ya ssh-keygen.exe haijaongezwa kwa anuwai za mazingira.
Kuna chaguzi mbili: ongeza C:\Program Files\Gitus\rbin kwa Viwango vya Mazingira (hii itatumika baada ya kuwasha tena mashine), au uzindue koni kutoka kwenye saraka hii.
AppCenter imeunganishwa kwenye akaunti isiyo sahihi ya BitBucket?
Ili kutatua suala hili, unahitaji kutenganisha akaunti yako ya BitBucket kutoka kwa AppCenter. Ingia kwenye akaunti isiyo sahihi ya BitBucket na uende kwa wasifu wako wa mtumiaji.

Ifuatayo, nenda kwa Mipangilio > Udhibiti wa Ufikiaji > OAuth

Bofya Batilisha ili kutenganisha akaunti yako.

Baada ya hayo, unahitaji kuingia na akaunti inayotakiwa ya BitBucket.
* Kama hatua ya mwisho, pia futa akiba ya kivinjari chako.
Sasa nenda kwa AppCenter. Nenda kwenye sehemu ya Kujenga na ubofye Tenganisha akaunti ya BitBucket.

Baada ya akaunti ya zamani kutengwa, unganisha tena AppCenter kwa akaunti sahihi.
'eval' haitambuliwi kama amri ya ndani au nje
Tunatumia badala ya amri
- eval $(ssh-agent -s)Timu:
- ssh-agentKatika baadhi ya matukio, itabidi ubainishe njia kamili ya C:\Program Files\Gitusrbinssh-agent.exe, au uongeze njia hii kwenye vijiwezo vya mfumo kwenye mashine ambapo mkimbiaji anaendesha.
AppCenter Build inajaribu kujenga mradi kutoka kwa hazina ya zamani ya bitBucket.
Kwa upande wangu, shida ilitokea kwa sababu nilikuwa nikifanya kazi na akaunti nyingi. Kufuta kashe kulitatua tatizo.
Chanzo: mapenzi.com
