AppCenter ak GitLab entegrasyon

Tryam, alo!

Mwen ta renmen pale sou eksperyans mwen nan mete kanpe GitLab ak AppCenter entegrasyon atravè BitBucket.

Bezwen pou entegrasyon sa yo te parèt lè yo te mete kanpe otomatik lansman tès UI pou yon pwojè kwa-platfòm sou Xamarin. Tutorial detaye anba a koupe a!

* Mwen pral fè yon atik separe sou otomatize tès UI nan kondisyon kwa-platfòm si piblik la enterese.

Mwen sèlman fouye yon sèl materyèl sa yo yon atik. Se poutèt sa, atik mwen an ka ede yon moun.

Objektif Travay la: Mete kanpe otomatik lansman tès UI sou AppCenter, paske ekip nou an itilize GitLab kòm yon sistèm kontwòl vèsyon.

pwoblèm Li te tounen soti ke AppCenter pa entegre dirèkteman ak GitLab. Bypass via BitBucket te chwazi kòm youn nan solisyon yo.

Шаги

1. Kreye yon depo vid sou BitBucket

Mwen pa wè nesesite pou dekri sa a an plis detay :)

2. Mete kanpe GitLab

Nou bezwen ke lè pouse / fusion nan repozitwa a, chanjman yo tou Uploaded nan BitBucket. Pou fè sa, ajoute yon kourè (oswa edite fichye .gitlab-ci.yml ki egziste deja).

Premyèman, nou ajoute kòmandman nan seksyon before_scripts

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

Lè sa a, ajoute lòd sa a nan etap la vle:

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

Nan ka mwen an, sa a se fichye a mwen te resevwa:

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

Nou lanse bati a, tcheke si chanjman/fichye nou yo sou BitBucket.
* jan pratik yo montre, mete kanpe kle SSH se opsyonèl. Men, jis nan ka, mwen pral bay yon algorithm pou mete kanpe yon koneksyon via SSH anba a

Konekte atravè SSH

Premye ou bezwen jenere yon kle SSH. Anpil atik yo te ekri sou sa. Pou egzanp, ou ka gade isit la.
Kle pwodwi yo sanble yon bagay tankou sa a:
AppCenter ak GitLab entegrasyon

Pli lwen Kle sekrè a bezwen ajoute kòm yon varyab nan GitLab. Pou fè sa, ale nan Anviwònman> CI/CD> Anviwònman Varyab. Ajoute TOUT sa ki nan dosye a kote ou te sove kle sekrè a. Ann rele varyab SSH_PRIVATE_KEY.
* dosye sa a, kontrèman ak dosye kle piblik la, pa pral gen ekstansyon an
AppCenter ak GitLab entegrasyon

Gwo, pwochen ou bezwen ajoute kle piblik la nan BitBucket. Pou fè sa, louvri repozitwa a epi ale nan Anviwònman> Kle Aksè.

AppCenter ak GitLab entegrasyon

Isit la nou klike sou Add Key epi mete sa ki nan dosye a ak kle piblik la (dosye ak ekstansyon an .pub).

Pwochen etap la se sèvi ak kle yo nan gitlab-runner. Sèvi ak kòmandman sa yo, men ranplase asterisk yo ak detay ou yo

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. Mete kanpe AppCenter

Nou kreye yon nouvo aplikasyon sou AppCenter.

AppCenter ak GitLab entegrasyon

Espesifye lang/platfòm lan

AppCenter ak GitLab entegrasyon

Apre sa, ale nan seksyon Bati nan aplikasyon an ki fèk kreye. La nou chwazi BitBucket ak depo a ki te kreye nan etap 1.

Gwo, kounye a nou bezwen konfigirasyon bati a. Pou fè sa, jwenn icon nan Kovèti pou

AppCenter ak GitLab entegrasyon

Nan prensip, tout bagay la se entwisyon. Chwazi yon pwojè ak konfigirasyon. Si sa nesesè, pèmèt lansman tès yo apre bati a. Yo pral kòmanse otomatikman.

Fondamantalman, sa a tout. Li son senp, men, natirèlman, tout bagay pa pral fèt san pwoblèm. Se poutèt sa, mwen pral dekri kèk erè ke mwen te rankontre pandan m ap travay:

'ssh-keygen' pa rekonèt kòm yon lòd entèn oswa ekstèn.

Li rive tou paske chemen ssh-keygen.exe pa ajoute nan varyab anviwònman yo.
Gen de opsyon: ajoute C:Program FilesGitusrbin nan Variables Anviwònman (yo pral aplike apre rdemare machin nan), oswa lanse konsole a soti nan anyè sa a.

AppCenter konekte ak move kont BitBucket la?

Pou rezoud pwoblèm nan, ou bezwen dekonekte kont BitBucket ou a soti nan AppCenter. Nou konekte nan move kont BitBucket la epi ale nan pwofil itilizatè a.

AppCenter ak GitLab entegrasyon

Apre sa, ale nan Anviwònman> Jesyon Aksè> OAuth

AppCenter ak GitLab entegrasyon

Klike sou Revoke pou dekonekte kont ou.

AppCenter ak GitLab entegrasyon

Apre sa, ou bezwen konekte ak kont BitBucket ki nesesè yo.
* Kòm yon dènye rekou, tou netwaye kachèt navigatè ou a.

Koulye a, ann ale nan AppCenter. ale nan seksyon Konstwi, klike sou Dekonekte kont BitBucket

AppCenter ak GitLab entegrasyon

Lè ansyen kont la dekonekte, nou konekte AppCenter ankò. Koulye a, nan kont lan vle.

'eval' pa rekonèt kòm yon lòd entèn oswa ekstèn

Nou itilize li olye de yon kòmand

  - eval $(ssh-agent -s)

Ekip:

  - ssh-agent

Nan kèk ka, w ap gen swa presize chemen an konplè nan C:Program FilesGitusrbinssh-agent.exe, oswa ajoute chemen sa a nan varyab sistèm yo sou machin nan kote moun kap kouri a ap kouri.

AppCenter Build ap eseye lanse yon bati pou yon pwojè soti nan yon depo bitBucket demode.

Nan ka mwen an, pwoblèm nan te parèt paske mwen t ap travay ak plizyè kont. Mwen deside netwaye kachèt la.

Sous: www.habr.com

Add nouvo kòmantè