АппЦентер и ГитЛаб интеграција

Триам, здраво!

Желео бих да причам о свом искуству у постављању ГитЛаб и АппЦентер интеграције преко БитБуцкет-а.

Потреба за таквом интеграцијом појавила се приликом подешавања аутоматског покретања УИ тестова за вишеплатформски пројекат на Ксамарин-у. Детаљан водич испод реза!

* Направићу посебан чланак о аутоматизацији УИ тестирања у условима на више платформи ако је јавност заинтересована.

Ископао сам само један такав материјал статью. Стога, мој чланак може некоме помоћи.

Задатак: Подесите аутоматско покретање УИ тестова на АппЦентер, с обзиром да наш тим користи ГитЛаб као систем за контролу верзија.

проблем Испоставило се да се АппЦентер не интегрише директно са ГитЛаб-ом. Заобилажење путем БитБуцкет-а изабрано је као једно од решења.

Кораци

1. Направите празно спремиште на БитБуцкет-у

Не видим потребу да ово детаљније описујем :)

2. Подешавање ГитЛаб-а

Потребно нам је да приликом гурања/спајања у спремиште промене се такође учитавају у БитБуцкет. Да бисте то урадили, додајте покретач (или уредите постојећу .гитлаб-ци.имл датотеку).

Прво додајемо команде у одељак бефоре_сцриптс

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

Затим додајте следећу команду у жељену фазу:

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

У мом случају, ово је фајл који сам добио:

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

Покрећемо буилд, проверимо да ли су наше измене/датотеке на БитБуцкет-у.
* као што је пракса показала, подешавање ССХ кључева је опционо. Али, за сваки случај, у наставку ћу дати алгоритам за постављање везе преко ССХ-а

Повезивање преко ССХ

Прво морате да генеришете ССХ кључ. О томе је написано много чланака. На пример, можете погледати овде.
Генерисани кључеви изгледају отприлике овако:
АппЦентер и ГитЛаб интеграција

Даље Тајни кључ треба додати као променљиву у ГитЛаб. Да бисте то урадили, идите на Подешавања > ЦИ/ЦД > Променљиве окружења. Додајте САВ садржај датотеке у којој сте сачували тајни кључ. Позовимо променљиву ССХ_ПРИВАТЕ_КЕИ.
* ова датотека, за разлику од датотеке јавног кључа, неће имати екстензију
АппЦентер и ГитЛаб интеграција

Одлично, следеће морате да додате јавни кључ у БитБуцкет. Да бисте то урадили, отворите спремиште и идите на Подешавања > Приступни кључеви.

АппЦентер и ГитЛаб интеграција

Овде кликнемо Додај кључ и убацимо садржај датотеке са јавним кључем (датотека са екстензијом .пуб).

Следећи корак је коришћење кључева у гитлаб-руннер-у. Користите ове команде, али замените звездице својим детаљима

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. Подешавање АппЦентер

Креирамо нову апликацију на АппЦентер.

АппЦентер и ГитЛаб интеграција

Наведите језик/платформу

АппЦентер и ГитЛаб интеграција

Затим идите на одељак Изградња новокреиране апликације. Тамо бирамо БитБуцкет и спремиште креирано у кораку 1.

Одлично, сада морамо да конфигуришемо градњу. Да бисте то урадили, пронађите икону зупчаника

АппЦентер и ГитЛаб интеграција

У принципу, све је тамо интуитивно. Изаберите пројекат и конфигурацију. Ако је потребно, омогућите покретање тестова након изградње. Покренуће се аутоматски.

У суштини, то је све. Звучи једноставно, али, наравно, неће све ићи глатко. Стога ћу описати неке грешке на које сам наишао током рада:

'ссх-кеиген' се не препознаје као интерна или екстерна команда.

Такође се дешава зато што се путања до ссх-кеиген.еке не додаје променљивим окружења.
Постоје две опције: додајте Ц:Програм ФилесГитусрбин у варијабле окружења (биће примењено након поновног покретања машине) или покрените конзолу из овог директоријума.

АппЦентер повезан са погрешним БитБуцкет налогом?

Да бисте решили проблем, морате да прекинете везу свог БитБуцкет налога са АппЦентер-ом. Пријављујемо се на погрешан БитБуцкет налог и идемо на кориснички профил.

АппЦентер и ГитЛаб интеграција

Затим идите на Подешавања > Управљање приступом > ОАутх

АппЦентер и ГитЛаб интеграција

Кликните на Опозови да бисте прекинули везу са налогом.

АппЦентер и ГитЛаб интеграција

Након овога, потребно је да се пријавите са потребним БитБуцкет налогом.
* Као последње средство, такође обришите кеш претраживача.

Сада идемо на АппЦентер. идите у одељак Буилд, кликните на Прекини везу са БитБуцкет налогом

АппЦентер и ГитЛаб интеграција

Када се стари налог прекине, поново повезујемо АппЦентер. Сада на жељени налог.

'евал' се не препознаје као интерна или екстерна команда

Користимо га уместо команде

  - eval $(ssh-agent -s)

Тим:

  - ssh-agent

У неким случајевима, мораћете или да наведете пуну путању до Ц:Програм ФилесГитусрбинссх-агент.еке, или да додате ову путању системским променљивама на машини на којој је покретач покренут

АппЦентер Буилд покушава да покрене буилд за пројекат из застарелог битБуцкет спремишта

У мом случају, проблем је настао јер сам радио са више налога. Одлучио сам да обришем кеш меморију.

Извор: ввв.хабр.цом

Додај коментар