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
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
Vifunguo vilivyotengenezwa vinaonekana kama hii:
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
Kubwa, ijayo unahitaji kuongeza ufunguo wa umma kwa BitBucket. Ili kufanya hivyo, fungua hifadhi na uende kwa Mipangilio> Funguo za Ufikiaji.
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.
Bainisha lugha/jukwaa
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
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.
Ifuatayo, nenda kwa Mipangilio > Udhibiti wa Ufikiaji > OAuth
Bofya Batilisha ili kutenganisha akaunti yako.
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
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