Tryam, hello!
Gusto nakong hisgutan ang akong kasinatian sa pag-set up sa GitLab ug AppCenter integration pinaagi sa BitBucket.
Ang panginahanglan alang sa ingon nga panagsama mitungha sa dihang nag-set up sa awtomatikong paglansad sa mga pagsulay sa UI alang sa usa ka cross-platform nga proyekto sa Xamarin. Detalyadong tutorial sa ubos sa cut!
* Maghimo ako usa ka lahi nga artikulo bahin sa pag-automate sa pagsulay sa UI sa mga kondisyon sa cross-platform kung interesado ang publiko.
Usa ra ang akong gikalot sa ingon nga materyal
Tumong: I-set up ang awtomatik nga paglansad sa mga pagsulay sa UI sa AppCenter, tungod kay ang among team naggamit sa GitLab isip sistema sa pagkontrol sa bersyon.
problema Nahibal-an nga ang AppCenter wala direkta nga nag-integrate sa GitLab. Ang Bypass pinaagi sa BitBucket gipili isip usa sa mga solusyon.
Mga Lakang
1. Paghimo og walay sulod nga repository sa BitBucket
Dili nako kinahanglan nga ihulagway kini sa mas detalyado :)
2. Pag-set up sa GitLab
Kinahanglan namon nga kung magduso / maghiusa sa repository, ang mga pagbag-o gi-upload usab sa BitBucket. Aron mahimo kini, pagdugang usa ka runner (o usba ang naglungtad nga .gitlab-ci.yml file).
Una atong idugang ang mga sugo sa before_scripts nga seksyon
- git config --global user.email "user@email"
- git config --global user.name "username"
Dayon idugang ang mosunod nga sugo sa gusto nga yugto:
- git push --mirror https://username:[email protected]/username/projectname.git
Sa akong kaso, kini ang file nga akong nakuha:
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
Gilunsad namo ang pagtukod, susiha nga ang among mga pagbag-o / mga file naa sa BitBucket.
* sama sa gipakita sa praktis, ang pag-set up sa mga yawe sa SSH kay opsyonal. Apan, kung mahimo, maghatag ako usa ka algorithm alang sa pag-set up sa usa ka koneksyon pinaagi sa SSH sa ubos
Pagkonektar pinaagi sa SSH
Una kinahanglan nimo nga maghimo usa ka yawe sa SSH. Daghang mga artikulo ang gisulat bahin niini. Pananglitan, mahimo nimong tan-awon
Ang namugna nga mga yawe sama niini:
dugang pa Ang sekreto nga yawe kinahanglan idugang ingon usa ka variable sa GitLab. Aron mahimo kini, adto sa Settings> CI/CD> Environment Variables. Idugang ang TANAN nga sulod sa file diin imong gitipigan ang sekreto nga yawe. Tawgon nato ang variable nga SSH_PRIVATE_KEY.
* kini nga payl, dili sama sa public key file, walay extension
Maayo, sunod kinahanglan nimo nga idugang ang yawe sa publiko sa BitBucket. Aron mahimo kini, ablihi ang repository ug adto sa Settings> Access Keys.
Dinhi atong i-klik ang Add Key ug isulod ang mga sulod sa file gamit ang public key (file nga adunay extension .pub).
Ang sunod nga lakang mao ang paggamit sa mga yawe sa gitlab-runner. Gamita kini nga mga sugo, apan ilisan ang mga asterisk sa imong mga detalye
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. Pag-set up sa AppCenter
Naghimo kami usa ka bag-ong aplikasyon sa AppCenter.
Ipiho ang pinulongan/plataporma
Sunod, adto sa seksyon sa Pagtukod sa bag-ong nahimo nga aplikasyon. Didto gipili namon ang BitBucket ug ang repository nga gihimo sa lakang 1.
Maayo, karon kinahanglan naton nga i-configure ang pagtukod. Aron mahimo kini, pangitaa ang icon sa gear
Sa prinsipyo, ang tanan nga adunay intuitive. Pagpili og proyekto ug pag-configure. Kung gikinahanglan, i-enable ang paglansad sa mga pagsulay pagkahuman sa pagtukod. Awtomatiko silang magsugod.
Sa panguna, mao ra kana. Kini paminawon nga yano, apan, natural, ang tanan dili hapsay. Busa, akong ihulagway ang pipila ka mga sayop nga akong nasugatan samtang nagtrabaho:
Ang 'ssh-keygen' wala giila isip usa ka internal o eksternal nga sugo.
Nahitabo usab kini tungod kay ang agianan sa ssh-keygen.exe wala idugang sa mga variable sa palibot.
Adunay duha ka kapilian: idugang ang C:Program FilesGitusrbin sa Environment Variables (i-apply human sa pag-reboot sa makina), o ilunsad ang console gikan niini nga direktoryo.
Ang AppCenter konektado sa sayop nga BitBucket account?
Aron masulbad ang problema, kinahanglan nimo nga i-unlink ang imong BitBucket account gikan sa AppCenter. Nag log in mi sa sayop nga BitBucket account ug adto sa user profile.
Sunod, adto sa Settings> Access Management> OAuth
I-klik ang Bawi aron ma-unlink ang imong account.
Human niini, kinahanglan ka nga mag-log in gamit ang gikinahanglan nga BitBucket account.
* Isip usa ka katapusan nga paagi, hawanan usab ang cache sa imong browser.
Karon adto ta sa AppCenter. adto sa Build section, click Disconnect BitBucket account
Kung ma-unlink ang daan nga account, among gi-link ang AppCenter pag-usab. Karon sa gusto nga account.
Ang 'eval' wala giila isip usa ka internal o eksternal nga sugo
Gigamit namo kini imbes nga sugo
- eval $(ssh-agent -s)
Team:
- ssh-agent
Sa pipila ka mga kaso, kinahanglan nimo nga ipiho ang tibuuk nga agianan sa C: Program FilesGitusrbinssh-agent.exe, o idugang kini nga agianan sa mga variable sa sistema sa makina diin nagdagan ang runner.
Ang AppCenter Build naningkamot nga maglunsad og usa ka pagtukod alang sa usa ka proyekto gikan sa usa ka karaan nga bitBucket repository
Sa akong kaso, nitumaw ang problema tungod kay nagtrabaho ko sa daghang mga account. Nakahukom ko sa paghawan sa cache.
Source: www.habr.com