AppCenter жана GitLab интеграциясы

Трям, салам!

Мен BitBucket аркылуу GitLab жана AppCenter интеграциясын орнотуудагы тажрыйбам тууралуу айткым келет.

Мындай интеграциянын зарылдыгы Xamarin боюнча кросс-платформалык долбоор үчүн UI тесттерин автоматтык түрдө ишке киргизүүдө пайда болгон. Кесиптин астында деталдуу окуу куралы!

* Коомчулук кызыктырса, платформалар аралык шарттарда UI тестин автоматташтыруу жөнүндө өзүнчө макала жасайм.

Мен бир гана ушундай материалды казып алдым макала. Ошондуктан, менин макалам кимдир бирөөгө жардам бериши мүмкүн.

маселе: Биздин команда GitLab версиясын башкаруу системасы катары колдонгонун эске алып, AppCenterде UI тесттерин автоматтык түрдө ишке киргизиңиз.

маселе AppCenter GitLab менен түз интеграцияланбайт экен. Чечимдердин бири катары BitBucket аркылуу айланып өтүү тандалды.

кадамдар

1. BitBucketте бош репозиторийди түзүңүз

Мен муну майда-чүйдөсүнө чейин сүрөттөп берүүнүн кереги жок :)

2. GitLab орнотуу

Репозиторийге түртүп/бириктиргенде, өзгөртүүлөр BitBucketке да жүктөлүшү керек. Бул үчүн, жөө күлүктү кошуңуз (же учурдагы .gitlab-ci.yml файлын түзөтүңүз).

Адегенде before_scripts бөлүмүнө буйруктарды кошобуз

 - 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

Биз курууну ишке киргизебиз, биздин өзгөртүүлөр/файлдар BitBucketте экенин текшеребиз.
* практика көрсөткөндөй, SSH ачкычтарын орнотуу милдеттүү эмес. Бирок, кандай болгон күндө да, мен төмөндө SSH аркылуу туташууну орнотуу алгоритмин берем

SSH аркылуу туташуу

Алгач сиз SSH ачкычын түзүшүңүз керек. Бул тууралуу көптөгөн макалалар жазылган. Мисалы, сиз карап көрө аласыз бул жерде.
Түзүлгөн ачкычтар төмөнкүдөй көрүнөт:
AppCenter жана GitLab интеграциясы

Далее Жашыруун ачкыч GitLab боюнча өзгөрмө катары кошуу керек. Бул үчүн, Орнотуулар > CI/CD > Айлана-чөйрө өзгөрмөлөрүнө өтүңүз. Жашыруун ачкыч сакталган файлдын БАРДЫК мазмунун кошуңуз. SSH_PRIVATE_KEY өзгөрмөсүн чакыралы.
* бул файл, ачык ачкыч файлынан айырмаланып, кеңейтүүгө ээ болбойт
AppCenter жана GitLab интеграциясы

Жакшы, андан кийин BitBucketке ачык ачкычты кошушуңуз керек. Бул үчүн, репозиторийди ачып, Орнотуулар > Кирүү баскычтарына өтүңүз.

AppCenter жана GitLab интеграциясы

Бул жерде биз Ачкычты кошуу баскычын чыкылдатып, ачык ачкыч менен файлдын мазмунун киргизебиз (кеңейтүү .pub файлы).

Кийинки кадам gitlab-runnerдеги ачкычтарды колдонуу. Бул буйруктарды колдонуңуз, бирок жылдызчаларды маалыматыңыз менен алмаштырыңыз

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. AppCenter орнотуу

Биз AppCenterде жаңы тиркемени түзөбүз.

AppCenter жана GitLab интеграциясы

Тилди/платформаны көрсөтүңүз

AppCenter жана GitLab интеграциясы

Андан кийин, жаңы түзүлгөн тиркеменин Build бөлүмүнө өтүңүз. Ал жерден биз BitBucketти жана 1-кадамда түзүлгөн репозиторийди тандайбыз.

Жакшы, азыр биз курууну конфигурациялашыбыз керек. Бул үчүн, тиштүү сөлөкөтүн табыңыз

AppCenter жана GitLab интеграциясы

Негизи, ал жерде бардыгы интуитивдик. Долбоорду жана конфигурацияны тандаңыз. Зарыл болсо, куруудан кийин сыноолорду ишке киргизиңиз. Алар автоматтык түрдө башталат.

Негизинен ушуну менен бүттү. Бул жөнөкөй угулат, бирок, албетте, баары жылмакай эмес. Ошондуктан, мен иштеп жатканда жолуккан кээ бир каталарды сүрөттөп берем:

'ssh-keygen' ички же тышкы буйрук катары таанылбайт.

Бул ssh-keygen.exe жолу чөйрө өзгөрмөлөрүнө кошулбагандыктан да пайда болот.
Эки вариант бар: C:Program FilesGitusrbinди Environment Variables (машина кайра жүктөлгөндөн кийин колдонулат) кошуңуз же бул каталогдон консолду ишке киргизиңиз.

AppCenter туура эмес BitBucket каттоо эсебине туташтыбы?

Көйгөйдү чечүү үчүн BitBucket каттоо эсебиңизди AppCenter менен ажыратышыңыз керек. Биз туура эмес BitBucket эсебине кирип, колдонуучунун профилине барабыз.

AppCenter жана GitLab интеграциясы

Андан кийин, Орнотуулар> Мүмкүнчүлүктү башкаруу> OAuth дегенге өтүңүз

AppCenter жана GitLab интеграциясы

Каттоо эсебиңизди ажыратуу үчүн "Жокко чыгаруу" баскычын басыңыз.

AppCenter жана GitLab интеграциясы

Андан кийин, талап кылынган BitBucket каттоо эсеби менен кирүү керек.
* Акыркы чара катары браузериңиздин кэшин тазалаңыз.

Эми AppCenterге баралы. Build бөлүмүнө барып, BitBucket каттоо эсебин ажыратууну чыкылдатыңыз

AppCenter жана GitLab интеграциясы

Эски каттоо эсеби ажыратылганда, биз AppCenterди кайра байланыштырабыз. Эми каалаган эсепке.

"баалоо" ички же тышкы буйрук катары таанылбайт

Биз аны буйруктун ордуна колдонобуз

  - eval $(ssh-agent -s)

Команда:

  - ssh-agent

Кээ бир учурларда, сиз C:Program FilesGitusrbinssh-agent.exe файлына толук жолду көрсөтүшүңүз керек, же бул жолду жөө күлүк иштеп жаткан машинадагы система өзгөрмөлөрүнө кошушуңуз керек болот.

AppCenter Build эскирген bitBucket репозиторийинен долбоор үчүн курууну ишке киргизүүгө аракет кылууда

Менин учурда, көйгөй бир нече аккаунттар менен иштегендиктен келип чыкты. Мен кэшти тазалоону чечтим.

Source: www.habr.com

Комментарий кошуу