AppCenter ۽ GitLab انضمام

ٽرام، هيلو!

مان BitBucket ذريعي GitLab ۽ AppCenter انضمام کي ترتيب ڏيڻ ۾ منهنجي تجربي بابت ڳالهائڻ چاهيندس.

اهڙي انضمام جي ضرورت پيدا ٿي جڏهن Xamarin تي ڪراس پليٽ فارم پروجيڪٽ لاءِ يو آءِ ٽيسٽ جي خودڪار لانچ کي ترتيب ڏيو. ڪٽ جي هيٺان تفصيلي سبق!

* آئون هڪ الڳ مضمون ٺاهيندس UI ٽيسٽ کي خودڪار ڪرڻ بابت ڪراس پليٽ فارم جي حالتن ۾ جيڪڏهن عوام جي دلچسپي آهي.

مون صرف هڪ اهڙو مواد ڪڍيو مضمون. تنهن ڪري، منهنجو مضمون ڪنهن جي مدد ڪري سگهي ٿو.

مقصد: AppCenter تي UI ٽيسٽ جي خودڪار لانچ کي ترتيب ڏيو، ڏنو ويو ته اسان جي ٽيم GitLab کي ورزن ڪنٽرول سسٽم طور استعمال ڪري ٿي.

مسئلو اهو ظاهر ٿيو ته AppCenter سڌو سنئون GitLab سان ضم نٿو ٿئي. بائي پاس ذريعي BitBucket حل مان هڪ چونڊيو ويو.

قدم

1. BitBucket تي هڪ خالي مخزن ٺاهيو

مان ان کي وڌيڪ تفصيل سان بيان ڪرڻ جي ضرورت نه ٿو ڏسان :)

2. GitLab ترتيب ڏيڻ

اسان کي ضرورت آهي ته جڏهن مخزن ۾ دٻائڻ/ضم ڪرڻ، تبديليون به اپلوڊ ڪيون وينديون آهن BitBucket. هن کي ڪرڻ لاء، هڪ رنر شامل ڪريو (يا موجوده .gitlab-ci.yml فائل کي تبديل ڪريو).

پهرين اسان اڳيون_ اسڪرپٽ سيڪشن ۾ حڪم شامل ڪندا آهيون

 - 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> Environment Variables. فائل جو سڀ مواد شامل ڪريو جنھن ۾ توھان ڳجھي چيڪ کي محفوظ ڪيو آھي. اچو ته متغير SSH_PRIVATE_KEY کي سڏين.
* هي فائل، عوامي ڪي فائل جي برعڪس، واڌ نه هوندي
AppCenter ۽ GitLab انضمام

عظيم، اڳيان توهان کي BitBucket ۾ عوامي ڪي شامل ڪرڻ جي ضرورت آهي. هن کي ڪرڻ لاء، مخزن کي کوليو ۽ وڃو سيٽنگون> رسائي ڪيز.

AppCenter ۽ GitLab انضمام

هتي اسان Add Key تي ڪلڪ ڪندا آهيون ۽ فائل جي مواد کي پبلڪ ڪي (extension .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 انضمام

اڳيون، نئين ٺاهيل ايپليڪيشن جي تعمير سيڪشن ڏانھن وڃو. اتي اسان چونڊيو BitBucket ۽ مخزن جو ٺهيل مرحلو 1 ۾.

عظيم، هاڻي اسان کي تعمير کي ترتيب ڏيڻ جي ضرورت آهي. هن کي ڪرڻ لاء، گيئر آئڪن ڳولھيو

AppCenter ۽ GitLab انضمام

اصول ۾، اتي هر شيء وجداني آهي. ھڪڙو منصوبو چونڊيو ۽ ٺاھ جوڙ. جيڪڏهن ضروري هجي ته، تعمير کان پوء ٽيسٽ جي لانچ کي فعال ڪريو. اهي خودڪار طريقي سان شروع ٿي ويندا.

بنيادي طور تي، اهو سڀ ڪجهه آهي. اهو سادو آواز آهي، پر، قدرتي طور تي، هر شيء آسانيء سان نه ٿيندي. تنهن ڪري، مان ڪجهه غلطيون بيان ڪندس جيڪي مون کي ڪم ڪرڻ دوران سامهون آيون:

'ssh-keygen' کي اندروني يا بيروني ڪمانڊ طور تسليم نه ڪيو ويو آهي.

اهو پڻ ٿئي ٿو ڇاڪاڻ ته ssh-keygen.exe جو رستو ماحولياتي متغير ۾ شامل نه ڪيو ويو آهي.
هتي ٻه آپشن آهن: شامل ڪريو C:Program FilesGitusrbin to Environment Variables (مشين کي ريبوٽ ڪرڻ کان پوءِ لاڳو ڪيو ويندو)، يا هن ڊاريڪٽري مان ڪنسول لانچ ڪريو.

AppCenter غلط BitBucket اڪائونٽ سان ڳنڍيل آهي؟

مسئلو حل ڪرڻ لاءِ، توھان کي پنھنجي BitBucket اڪائونٽ کي AppCenter کان لنڪ ڪرڻ جي ضرورت آھي. اسان غلط BitBucket اڪائونٽ ۾ لاگ ان ٿيو ۽ يوزر پروفائل ڏانھن وڃو.

AppCenter ۽ GitLab انضمام

اڳيون، وڃو سيٽنگون> رسائي جو انتظام> OAuth

AppCenter ۽ GitLab انضمام

ڪلڪ ڪريو رد ڪريو پنھنجي اڪائونٽ کي ختم ڪرڻ لاء.

AppCenter ۽ GitLab انضمام

ان کان پوء، توهان کي گهربل BitBucket اڪائونٽ سان لاگ ان ٿيڻ جي ضرورت آهي.
* آخري حل جي طور تي، توهان جي برائوزر ڪيش کي پڻ صاف ڪريو.

ھاڻي اچو ته AppCenter ڏانھن وڃو. وڃو تعمير سيڪشن، ڪلڪ ڪريو ڊسڪنيڪٽ BitBucket اڪائونٽ

AppCenter ۽ GitLab انضمام

جڏهن پراڻو اڪائونٽ ختم ڪيو ويو آهي، اسان ٻيهر ايپ سينٽر کي ڳنڍيندا آهيون. هاڻي گهربل اڪائونٽ ڏانهن.

'eval' کي اندروني يا بيروني ڪمانڊ طور تسليم نه ڪيو ويو آهي

اسان ان کي حڪم جي بدران استعمال ڪندا آهيون

  - eval $(ssh-agent -s)

ٽيم:

  - ssh-agent

ڪجهه حالتن ۾، توهان کي يا ته مڪمل رستو بيان ڪرڻو پوندو C:Program FilesGitusrbinssh-agent.exe، يا اهو رستو شامل ڪريو سسٽم متغيرن ۾ مشين تي جتي رنر هلي رهيو آهي.

AppCenter Build ڪوشش ڪري رھي آھي ھڪڙي منصوبي لاءِ ھڪڙي پراڻي bitBucket مخزن مان ھڪڙي تعمير شروع ڪرڻ

منهنجي صورت ۾، مسئلو پيدا ٿيو ڇو ته مان ڪيترن ئي اڪائونٽن سان ڪم ڪري رهيو آهيان. مون ڪيش صاف ڪرڻ جو فيصلو ڪيو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو