Tryam, sawubona!
Ngingathanda ukukhuluma ngolwazi lwami ekusetheni ukuhlanganiswa kwe-GitLab ne-AppCenter nge-BitBucket.
Isidingo sokuhlanganiswa okunjalo sivele lapho kusethwa ukwethulwa okuzenzakalelayo kokuhlolwa kwe-UI kwephrojekthi yenkundla ephambanayo ku-Xamarin. Isifundo esinemininingwane ngezansi kokusikwa!
* Ngizokwenza i-athikili ehlukile mayelana nokuhlola i-UI ngokuzenzakalelayo ezimeni zenkundla ehlukene uma umphakathi unentshisekelo.
Ngamba into eyodwa kuphela enjalo . Ngakho-ke, isihloko sami singamsiza othile.
Inhloso: Lungiselela ukuqaliswa okuzenzakalelayo kokuhlolwa kwe-UI ku-AppCenter, uma ithimba lethu lisebenzisa i-GitLab njengohlelo lokulawula inguqulo.
Inkinga Kuvele ukuthi i-AppCenter ayihlanganisi ngqo ne-GitLab. I-Bypass nge-BitBucket ikhethwe njengesinye sezixazululo.
Izinyathelo
1. Dala indawo yokugcina engenalutho ku-BitBucket
Angisiboni isidingo sokuchaza lokhu ngokuningiliziwe :)
2. Ukusetha i-GitLab
Sidinga ukuthi lapho siphusha/sihlanganisa endaweni yokugcina, izinguquko nazo zilayishwa ku-BitBucket. Ukuze wenze lokhu, engeza umgijimi (noma hlela ifayela elikhona .gitlab-ci.yml).
Okokuqala sengeza imiyalo esigabeni sangaphambi_sombhalo
- git config --global user.email "user@email"
- git config --global user.name "username"Bese wengeza umyalo olandelayo esigabeni osifunayo:
- git push --mirror https://username:password@bitbucket.org/username/projectname.gitEndabeni yami, leli yifayela engilitholile:
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.gitSethula isakhiwo, hlola ukuthi izinguquko/amafayela ethu aku-BitBucket.
* njengoba umkhuba ubonisile, ukusetha okhiye be-SSH kungokuzithandela. Kodwa, uma kwenzeka, ngizohlinzeka nge-algorithm yokusetha uxhumano nge-SSH ngezansi
Ixhuma nge-SSH
Okokuqala udinga ukukhiqiza ukhiye we-SSH. Kubhalwe izihloko eziningi ngalokhu. Ngokwesibonelo, ungabheka .
Okhiye abakhiqiziwe babukeka kanjena:

Isikhathi esilandelayo Ukhiye oyimfihlo idinga ukwengezwa njengokuguquguqukayo ku-GitLab. Ukuze wenze lokhu, iya kokuthi Izilungiselelo > CI/CD > Okuguquguqukayo kwemvelo. Engeza KONKE okuqukethwe kwefayela olondoloze kulo ukhiye oyimfihlo. Masibize okuguquguqukayo SSH_PRIVATE_KEY.
* leli fayela, ngokungafani nefayela lokhiye osesidlangalaleni, ngeke libe nesandiso

Kuhle, ngokulandelayo udinga ukwengeza ukhiye womphakathi ku-BitBucket. Ukuze wenze lokhu, vula indawo yokugcina bese uya kokuthi Izilungiselelo > Okhiye Bokungena.

Lapha sichofoza okuthi Engeza ukhiye bese sifaka okuqukethwe kwefayela ngokhiye osesidlangalaleni (ifayela elinesandiso esithi .pub).
Isinyathelo esilandelayo ukusebenzisa okhiye ku-gitlab-runner. Sebenzisa le miyalo, kodwa esikhundleni sezinkanyezi ufake imininingwane yakho
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. Ukusetha i-AppCenter
Sakha uhlelo olusha lokusebenza ku-AppCenter.

Cacisa ulimi/inkundla

Okulandelayo, iya engxenyeni ethi Yakha yohlelo lokusebenza olusanda kwakhiwa. Lapho sikhetha i-BitBucket kanye nendawo yokugcina edalwe esinyathelweni 1.
Kuhle, manje sidinga ukumisa isakhiwo. Ukuze wenze lokhu, thola isithonjana segiya

Empeleni, konke okukhona kunembile. Khetha iphrojekthi kanye nokumisa. Uma kunesidingo, vumela ukuqaliswa kokuhlolwa ngemva kokwakhiwa. Bazoqala ngokuzenzakalelayo.
Ngokuyisisekelo, yilokho kuphela. Kuzwakala kulula, kodwa, ngokwemvelo, konke ngeke kuhambe kahle. Ngakho-ke, ngizochaza amaphutha athile engihlangabezane nawo ngenkathi ngisebenza:
'ssh-keygen' ayaziwa njengomyalo wangaphakathi noma wangaphandle.
Kuyenzeka futhi ngoba indlela eya ku-ssh-keygen.exe ayingezwanga kokuguquguquka kwemvelo.
Kunezinketho ezimbili: engeza i-C:Program FilesGitusrbin kokuthi Okuguquguqukayo Kwemvelo (izosetshenziswa ngemva kokuqalisa kabusha umshini), noma qalisa ikhonsoli kusukela kulolu hlu lwemibhalo.
I-AppCenter ixhumeke ku-akhawunti engalungile ye-BitBucket?
Ukuze uxazulule inkinga, udinga ukususa ukuxhumanisa i-akhawunti yakho ye-BitBucket ku-AppCenter. Singena ku-akhawunti engalungile ye-BitBucket bese siya kuphrofayela yomsebenzisi.

Okulandelayo, iya kokuthi Izilungiselelo > Ukuphathwa Kokufinyelela > I-OAuth

Chofoza u-Hoxisa ukuze ususe ukuxhumanisa i-akhawunti yakho.

Ngemuva kwalokhu, udinga ukungena ngemvume nge-akhawunti edingekayo ye-BitBucket.
* Njengendlela yokugcina, sula futhi inqolobane yesiphequluli sakho.
Manje ake siye ku-AppCenter. iya engxenyeni ethi Yakha, chofoza Nqamula i-akhawunti ye-BitBucket

Uma i-akhawunti endala inqanyuliwe, sixhuma i-AppCenter futhi. Manje ku-akhawunti oyifunayo.
'i-eval' ayaziwa njengomyalo wangaphakathi noma wangaphandle
Siyisebenzisa esikhundleni somyalo
- eval $(ssh-agent -s)Iqembu:
- ssh-agentKwezinye izimo, kuzodingeka ukuthi ucacise indlela egcwele eya ku-C:Program FilesGitusrbinssh-agent.exe, noma wengeze le ndlela ekuguquguqukeni kwesistimu emshinini lapho umgijimi esebenza khona.
I-AppCenter Build izama ukwethula isakhiwo sephrojekthi esivela endaweni yokugcina ye-bitBucket ephelelwe yisikhathi
Endabeni yami, inkinga yavela ngoba ngangisebenza ngama-akhawunti amaningana. Nginqume ukusula inqolobane.
Source: www.habr.com
