مرحبا ، مرحبا!
أريد أن أتحدث عن تجربتي في إعداد تكامل GitLab و AppCenter عبر BitBucket.
نشأت الحاجة لمثل هذا التكامل في سياق إعداد الإطلاق التلقائي لاختبارات واجهة المستخدم لمشروع عبر الأنظمة الأساسية على Xamarin. برنامج تعليمي مفصل تحت خفض!
* فيما يتعلق بأتمتة اختبار واجهة المستخدم في ظروف الأنظمة الأساسية ، سأقدم مقالة منفصلة إذا كان الجمهور مهتمًا.
حفرت هذه المواد مادة واحدة فقط. لذلك ، يمكن لمقالتي مساعدة شخص ما.
الهدف : إعداد التشغيل التلقائي لاختبارات واجهة المستخدم على AppCenter ، بينما يستخدم فريقنا GitLab كنظام للتحكم في الإصدار.
لقد تحولت المشكلة إلى أن AppCenter لا يتكامل مباشرة مع GitLab. كأحد الحلول ، تم اختيار تجاوز في BitBucket.
خطوات
1. إنشاء مستودع BitBucket فارغ
لا أرى الحاجة إلى وصفها بمزيد من التفصيل :)
2. تكوين GitLab
نحن بحاجة إلى ذلك عندما يتم ضغط / دمج التغييرات في المستودع على BitBucket أيضًا. للقيام بذلك ، قم بإضافة العداء (أو قم بتحرير ملف .itlab-ci.yml الموجود).
أولاً ، أضف الأوامر إلى قسم before_scripts
- git config --global user.email "user@email" - git config --global user.name "username"
ثم أضف الأمر التالي إلى المرحلة المطلوبة:
- git push --mirror https://username:password@bitbucket.org/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> متغيرات البيئة. أضف جميع محتويات الملف الذي قمت بحفظ المفتاح الخاص فيه. دعونا اسم المتغير SSH_PRIVATE_KEY.
* هذا الملف ، على عكس ملف المفتاح العام ، لن يكون له امتداد

رائع ، فأنت بحاجة إلى إضافة المفتاح العمومي إلى BitBucket. للقيام بذلك ، افتح المستودع ، انتقل إلى الإعدادات> مفاتيح الوصول.

ثم انقر فوق "إضافة مفتاح" ولصق محتويات الملف باستخدام المفتاح العمومي (ملف بالملحق .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 git@bitbucket.org mirror: stage: mirror script: - git push --mirror https://****:****@bitbucket.org/*****/*****.git
3. تكوين AppCenter
نقوم بإنشاء تطبيق جديد على AppCenter.

حدد اللغة / المنصة

بعد ذلك ، انتقل إلى قسم إنشاء التطبيق الذي تم إنشاؤه حديثًا. نختار BitBucket والمستودع الذي تم إنشاؤه في الخطوة 1 هناك.
حسنا ، الآن تحتاج إلى تكوين البناء. للقيام بذلك ، ابحث عن رمز الترس

من حيث المبدأ ، كل شيء بديهي هناك. نختار المشروع والتكوين. إذا لزم الأمر ، قم بتمكين بدء الاختبارات بعد الإنشاء. سوف تبدأ تلقائيا.
من حيث المبدأ ، هذا كل شيء. يبدو الأمر سهلاً ، لكن من الطبيعي أن كل شيء لن يتم بسلاسة. لذلك ، سوف أصف بعض الأخطاء التي واجهتها أثناء العمل:
لم يتم التعرف على 'ssh-keygen' كأمر داخلي أو خارجي.ينشأ لأنه لا تتم إضافة المسار إلى ssh-keygen.exe إلى متغيرات البيئة.
هناك خياران: إضافة C: \ Program Files \ Git \ usr \ bin إلى متغيرات Enviroment (سيتم تطبيقها بعد إعادة تشغيل الجهاز) ، أو ابدأ تشغيل وحدة التحكم من هذا الدليل.
AppCenter متصل بحساب BitBucket الخاطئ؟لحل المشكلة ، تحتاج إلى إلغاء ربط حساب BitBucket من AppCenter. نذهب إلى حساب BitBucket الخاطئ ، انتقل إلى ملف تعريف المستخدم.

بعد ذلك ، انتقل إلى الإعدادات> إدارة الوصول> OAuth

انقر فوق "إلغاء" لفك الحساب.

بعد ذلك ، تحتاج إلى تسجيل الدخول تحت حساب BitBucket الضروري
* في الحالات القصوى ، قم أيضًا بمسح ذاكرة التخزين المؤقت للمتصفح
اذهب الآن إلى AppCenter. انتقل إلى قسم Build (إنشاء) ، انقر فوق Disconnect BitBetet account

عند إلغاء ربط الحساب القديم ، نربط AppCenter مرة أخرى. الآن إلى الحساب المطلوب.
لم يتم التعرف على "eval" كأمر داخلي أو خارجياستخدم بدلاً من الأمر
- eval $(ssh-agent -s)
القيادة:
- ssh-agent
في بعض الحالات ، سيكون عليك إما تحديد المسار الكامل إلى C: \ Program Files \ Git \ usr \ bin \ ssh-agent.exe ، أو إضافة هذا المسار إلى متغيرات النظام على الجهاز حيث يتم تشغيل runner
يحاول تطبيق AppCenter Build إنشاء مشروع من مستودع bitBucket غير ذي صلةفي حالتي ، نشأت المشكلة لأنني عملت مع عدة حسابات. قررت لمسح ذاكرة التخزين المؤقت.