Yekbûna AppCenter û GitLab

Tryam, silav!

Ez dixwazim li ser serpêhatiya xwe ya di sazkirina yekbûna GitLab û AppCenter de bi rêya BitBucket biaxivim.

Dema ku ji bo projeyek cross-platform li ser Xamarin sazkirina destpêkirina otomatîkî ya ceribandinên UI-yê hate saz kirin hewcedariya yekbûnek wusa çêbû. Tutorial hûrgulî li jêr qutkirinê!

* Ger gel eleqedar be ez ê di derheqê otomatîkkirina ceribandina UI-ê de di şert û mercên cross-platform de gotarek cûda çêkim.

Min tenê malzemeyek weha derxist gotar. Ji ber vê yekê, gotara min dikare ji kesek re bibe alîkar.

Armanc: Destpêkirina otomatîkî ya ceribandinên UI-yê li ser AppCenter saz bikin, ji ber ku tîmê me GitLab wekî pergala kontrolkirina guhertoyê bikar tîne.

pirsgirêka Derket holê ku AppCenter rasterast bi GitLab re yek nabe. Bypass bi rêya BitBucket wekî yek ji çareseriyan hate hilbijartin.

Gavên

1. Li BitBucket depoyek vala biafirînin

Ez hewce nabînim ku vê yekê bi hûrgulî vebêjim :)

2. Sazkirina GitLab

Ji me re hewce ye ku dema ku di depoyê de dişoxilînin/hev dikin, guhertin li BitBucket jî têne barkirin. Ji bo kirina vê yekê, runnerek lê zêde bike (an jî pelê heyî .gitlab-ci.yml biguherîne).

Pêşî em fermanan li beşa Before_scripts zêde dikin

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

Dûv re emrê jêrîn li qonaxa xwestinê zêde bikin:

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

Di doza min de, ev pelê ku min girtiye ev e:

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

Em avakirinê dest pê dikin, kontrol bikin ku guhertin / pelên me li BitBucket in.
* wekî pratîkê destnîşan kir, sazkirina bişkojkên SSH vebijarkî ye. Lê, tenê di rewşê de, ez ê algorîtmayek ji bo sazkirina pêwendiyek bi riya SSH li jêr peyda bikim

Girêdana bi SSH

Pêşî hûn hewce ne ku mifteyek SSH çêbikin. Li ser vê yekê gelek gotar hatine nivîsandin. Ji bo nimûne, hûn dikarin binêrin vir.
Bişkojkên çêkirî tiştek mîna vê xuya dikin:
Yekbûna AppCenter û GitLab

berdewam Mifteya veşartî pêdivî ye ku wekî guhêrbar li ser GitLab were zêdekirin. Ji bo vê yekê, biçin Settings> CI/CD> Guherbarên Jîngehê. HEMÛ naveroka pelê ku we mifteya veşartî tê de tomar kiriye lê zêde bike. Werin em gazî guhêrbar SSH_PRIVATE_KEY bikin.
* ev pel, berevajî pelê mifteya giştî, dê pêvek tune be
Yekbûna AppCenter û GitLab

Baş e, paşê hûn hewce ne ku mifteya giştî li BitBucket zêde bikin. Ji bo vê yekê, depoyê vekin û biçin Settings> Bişkojkên Gihîştinê.

Yekbûna AppCenter û GitLab

Li vir em bişkojka lê zêde bike Key û naveroka pelê bi mifteya giştî (pelê bi dirêjkirina .pub) têxe naverokê.

Pêngava paşîn ev e ku meriv kilîtan di gitlab-runner de bikar bîne. Van fermanan bikar bînin, lê stêrk bi hûrguliyên xwe veguherînin

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

Em serîlêdanek nû li ser AppCenter diafirînin.

Yekbûna AppCenter û GitLab

Ziman/platformê diyar bikin

Yekbûna AppCenter û GitLab

Piştre, biçin beşa Avakirinê ya serîlêdana nû hatî afirandin. Li wir em BitBucket û depoya ku di gava 1-ê de hatî afirandin hilbijêrin.

Baş e, naha divê em avakirinê mîheng bikin. Ji bo vê yekê, îkonê gearê bibînin

Yekbûna AppCenter û GitLab

Di prensîbê de, her tişt li wir intuitive e. Projeyek û veavakirinê hilbijêrin. Ger hewce be, destpêkirina ceribandinan piştî çêkirinê çalak bikin. Ew ê bixweber dest pê bikin.

Di bingeh de, ev hemû. Ew hêsan xuya dike, lê, bi xwezayî, dê her tişt bi rêkûpêk neçe. Ji ber vê yekê, ez ê hin xeletiyên ku ez di dema xebatê de pê re rû bi rû bûm diyar bikim:

'ssh-keygen' wekî fermanek navxweyî an derveyî nayê nas kirin.

Ew jî çêdibe ji ber ku riya ssh-keygen.exe li guhêrbarên jîngehê nayê zêdekirin.
Du vebijark hene: C: Program FilesGitusrbin li Guherbarên Jîngehê zêde bikin (dê piştî destpêkirina makîneyê ji nû ve were sepandin), an jî konsolê ji vê pelrêçê veke.

AppCenter bi hesabê xelet BitBucket ve girêdayî ye?

Ji bo çareserkirina pirsgirêkê, hûn hewce ne ku hesabê xwe yê BitBucket ji AppCenter veqetînin. Em têkevin hesabê xelet BitBucket û diçin profîla bikarhêner.

Yekbûna AppCenter û GitLab

Piştre, biçin Settings> Rêvebiriya Gihîştinê> OAuth

Yekbûna AppCenter û GitLab

Revoke bikirtînin da ku hesabê xwe veqetînin.

Yekbûna AppCenter û GitLab

Piştî vê yekê, hûn hewce ne ku bi hesabê BitBucket-ê ya pêwîst re têkevin.
* Wekî çareya paşîn, cache geroka xwe jî paqij bikin.

Naha em biçin AppCenter. biçin beşa Avakirin, bikirtînin Veqetandina hesabê BitBucket

Yekbûna AppCenter û GitLab

Dema ku hesabê kevn bê girêdan, em dîsa AppCenter girêdidin. Niha li hesabê xwestinê.

'eval' wekî fermanek navxweyî an derveyî nayê pejirandin

Em wê li şûna fermanê bikar tînin

  - eval $(ssh-agent -s)

Kom:

  - ssh-agent

Di hin rewşan de, hûn neçar in ku riya tevahî ya C: Program FilesGitusrbinssh-agent.exe diyar bikin, an jî vê rêyê li guhêrbarên pergalê li ser makîneya ku lê dimeşîne zêde bikin.

AppCenter Build hewl dide ku ji depoyek bitBucket ya kevnar avahiyek ji bo projeyekê bide destpêkirin.

Di doza min de, pirsgirêk derket ji ber ku ez bi gelek hesaban re dixebitim. Min biryar da ku cache paqij bikim.

Source: www.habr.com

Add a comment