
بعد قليل من العمل في التعامل مع CI / CD (gitlab ce) ، صادفت مؤخرًا إجراءات على github ، وقررت تجربة نوع الوحش هذا.
لم يكن من المثير للاهتمام إنشاء JS أو بعض الحلول الأخرى ، لذلك قررت اختبار مجموعة رسم Arduino لـ esp8266 ، ونتيجة لذلك ، تم إعداد ثنائي مجمَّع جاهز للتنزيل مباشرةً إلى متحكم دقيق دون الحاجة إلى تثبيت IDD محلي من Arduino.
الإجراءات ، أو خط أنابيبسلسلة من الأوامر والإجراءات التي تبدأ بعد أحداث معينة - على سبيل المثال ، اضغط على فرع مستودع git ، أي ، سيتم تشغيله بعد تغيير الملف. يمكنك تعديل الملف مباشرة باستخدام محرر جيثب ، وسوف يقوم المشروع تلقائيًا بإنشاء وتجميع. لا يستخدم خط الأنابيب للتجميع فحسب ، بل يستخدم أيضًا لاختبار الكودات المختلفة.
لم أبدأ في إنشاء صورة لرسو السفن لكل هذا ، فهذا من شأنه أن يعقد عملية تنظيم ci / cd ، ومرة أخرى ، لست بحاجة إلى إنشاء صورة لكل مكتبة.
كيف يمكن أن يكون هذا مفيدا؟ لنفترض أن هناك نوعًا من مشروع مفتوح المصدر ، لإصدارات مختلفة من وحدات التحكم مع كميات مختلفة من الذاكرة ، ويستغرق الأمر كثيرًا من الوقت لتجميع التعليمات البرمجية لكافة الأنظمة الأساسية. في الإجراءات ، يمكنك بمجرد تكوين الأنظمة الأساسية التي تتطلب التجميع - ومع كل تغيير في الكود في مستودع التخزين لكل إصدار من النظام الأساسي ، سيكون هناك برنامج ثابت جاهز.
رمز البرنامج النصي للعمل نفسه:
on: [push] jobs: build: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: install arduino cli run: curl -fsSL https:
في الحقيقة -
- على نظام نظيف مع أوبونتو 18.04 نقوم بتثبيت arduino-cli
- إضافة دعم esp8266
- تجميع كود اردوينو المستضاف في المستودع ،
- نقوم بإنشاء إصدار نضيف فيه ثنائي المترجمة

الإجراءات على github مجانية لمشاريع المصادر المفتوحة ، أما بالنسبة للمستودعات المغلقة ، فهي متاحة الآن أيضًا ، لكن يبدو أنها ستصبح غير قابلة للوصول بعد فترة من الوقت.
أنا لا أدعي للمتطرفين ، بعض الأشياء يمكن أن تكون أسهل ، ولكن ، على أي حال ، أنها تعمل.