ٽرام، هيلو!
مان 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 چيڪ. ان بابت ڪيترائي مضمون لکيا ويا آهن. مثال طور، توهان ڏسي سگهو ٿا
ٺاهيل چابيون ڪجهه هن طرح نظر اچن ٿا:
وڌيڪ ڳجهي چاٻي GitLab ۾ متغير طور شامل ڪرڻ جي ضرورت آھي. ھن کي ڪرڻ لاءِ، ڏانھن وڃو سيٽنگون> CI/CD> Environment Variables. فائل جو سڀ مواد شامل ڪريو جنھن ۾ توھان ڳجھي چيڪ کي محفوظ ڪيو آھي. اچو ته متغير SSH_PRIVATE_KEY کي سڏين.
* هي فائل، عوامي ڪي فائل جي برعڪس، واڌ نه هوندي
عظيم، اڳيان توهان کي BitBucket ۾ عوامي ڪي شامل ڪرڻ جي ضرورت آهي. هن کي ڪرڻ لاء، مخزن کي کوليو ۽ وڃو سيٽنگون> رسائي ڪيز.
هتي اسان 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 تي هڪ نئين ايپليڪيشن ٺاهيندا آهيون.
ٻولي/پليٽ فارم بيان ڪريو
اڳيون، نئين ٺاهيل ايپليڪيشن جي تعمير سيڪشن ڏانھن وڃو. اتي اسان چونڊيو BitBucket ۽ مخزن جو ٺهيل مرحلو 1 ۾.
عظيم، هاڻي اسان کي تعمير کي ترتيب ڏيڻ جي ضرورت آهي. هن کي ڪرڻ لاء، گيئر آئڪن ڳولھيو
اصول ۾، اتي هر شيء وجداني آهي. ھڪڙو منصوبو چونڊيو ۽ ٺاھ جوڙ. جيڪڏهن ضروري هجي ته، تعمير کان پوء ٽيسٽ جي لانچ کي فعال ڪريو. اهي خودڪار طريقي سان شروع ٿي ويندا.
بنيادي طور تي، اهو سڀ ڪجهه آهي. اهو سادو آواز آهي، پر، قدرتي طور تي، هر شيء آسانيء سان نه ٿيندي. تنهن ڪري، مان ڪجهه غلطيون بيان ڪندس جيڪي مون کي ڪم ڪرڻ دوران سامهون آيون:
'ssh-keygen' کي اندروني يا بيروني ڪمانڊ طور تسليم نه ڪيو ويو آهي.
اهو پڻ ٿئي ٿو ڇاڪاڻ ته ssh-keygen.exe جو رستو ماحولياتي متغير ۾ شامل نه ڪيو ويو آهي.
هتي ٻه آپشن آهن: شامل ڪريو C:Program FilesGitusrbin to Environment Variables (مشين کي ريبوٽ ڪرڻ کان پوءِ لاڳو ڪيو ويندو)، يا هن ڊاريڪٽري مان ڪنسول لانچ ڪريو.
AppCenter غلط BitBucket اڪائونٽ سان ڳنڍيل آهي؟
مسئلو حل ڪرڻ لاءِ، توھان کي پنھنجي BitBucket اڪائونٽ کي AppCenter کان لنڪ ڪرڻ جي ضرورت آھي. اسان غلط BitBucket اڪائونٽ ۾ لاگ ان ٿيو ۽ يوزر پروفائل ڏانھن وڃو.
اڳيون، وڃو سيٽنگون> رسائي جو انتظام> OAuth
ڪلڪ ڪريو رد ڪريو پنھنجي اڪائونٽ کي ختم ڪرڻ لاء.
ان کان پوء، توهان کي گهربل BitBucket اڪائونٽ سان لاگ ان ٿيڻ جي ضرورت آهي.
* آخري حل جي طور تي، توهان جي برائوزر ڪيش کي پڻ صاف ڪريو.
ھاڻي اچو ته AppCenter ڏانھن وڃو. وڃو تعمير سيڪشن، ڪلڪ ڪريو ڊسڪنيڪٽ BitBucket اڪائونٽ
جڏهن پراڻو اڪائونٽ ختم ڪيو ويو آهي، اسان ٻيهر ايپ سينٽر کي ڳنڍيندا آهيون. هاڻي گهربل اڪائونٽ ڏانهن.
'eval' کي اندروني يا بيروني ڪمانڊ طور تسليم نه ڪيو ويو آهي
اسان ان کي حڪم جي بدران استعمال ڪندا آهيون
- eval $(ssh-agent -s)
ٽيم:
- ssh-agent
ڪجهه حالتن ۾، توهان کي يا ته مڪمل رستو بيان ڪرڻو پوندو C:Program FilesGitusrbinssh-agent.exe، يا اهو رستو شامل ڪريو سسٽم متغيرن ۾ مشين تي جتي رنر هلي رهيو آهي.
AppCenter Build ڪوشش ڪري رھي آھي ھڪڙي منصوبي لاءِ ھڪڙي پراڻي bitBucket مخزن مان ھڪڙي تعمير شروع ڪرڻ
منهنجي صورت ۾، مسئلو پيدا ٿيو ڇو ته مان ڪيترن ئي اڪائونٽن سان ڪم ڪري رهيو آهيان. مون ڪيش صاف ڪرڻ جو فيصلو ڪيو.
جو ذريعو: www.habr.com