أتمتة الإصدارات باستخدام CI/CD
أنشئ مسارًا يعبّئ تطبيق Electron ويوقّعه وينشره تلقائيًا عبر المنصات، جامعًا بين التعبئة والتوقيع والتوزيع.
أتمتة الإصدارات باستخدام CI/CD درس مجاني في Electron Desktop App Development على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Electron Desktop App Development، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Electron Desktop App Development 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Why Automate Releases
Manual builds are error-prone and slow. A CI/CD pipeline produces consistent, signed artifacts for every platform on every tag.
Trigger on Tags
Run the release pipeline when you push a version tag, keeping day-to-day commits fast.
function isReleaseTag(ref) {
return /^refs\/tags\/v\d+\.\d+\.\d+$/.test(ref);
}
console.log(isReleaseTag('refs/tags/v1.2.0'));Build Matrix
Use a build matrix to compile on macOS, Windows, and Linux runners in parallel, since some platforms can only build natively.
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]Installing Dependencies
Each runner checks out the code, installs Node, and runs a clean install for reproducible builds.
- run: npm ciPackaging Step
Invoke your packager to produce installers. electron-builder can publish in the same step.
- run: npx electron-builder --publish alwaysCode Signing in CI
Store signing certificates and credentials as encrypted secrets, never in the repo.
function fromSecret(name, env) {
return env[name] || '';
}
console.log(fromSecret('CSC_LINK', { CSC_LINK: 'base64cert' }));Notarization
On macOS, the pipeline submits the app for notarization using stored Apple credentials, all without manual steps.
Publishing Artifacts
Upload installers and the latest.yml update manifest to your release host so auto-update can find them.
Versioning
Derive the app version from the tag so the package version, installer, and update feed all stay in sync.
function versionFromTag(tag) {
return tag.replace(/^v/, '');
}
console.log(versionFromTag('v2.3.1'));Draft Releases
Publish as a draft first so you can review changelogs and artifacts before making the release public.
Rollback Plan
Keep previous releases available so you can quickly re-point users if a build has a critical bug.
Quick Check
Test your CI/CD release knowledge.
Recap
You learned to automate releases with CI/CD: triggering on tags, using a cross-platform build matrix, signing and notarizing with secrets, publishing artifacts and update manifests, and planning safe rollbacks.
الأسئلة الشائعة
هل درس «أتمتة الإصدارات باستخدام CI/CD» مجاني؟
نعم — نص درس «أتمتة الإصدارات باستخدام CI/CD» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Electron Desktop App Development، انتقل إلى CoddyKit PRO. تتضمن دورة Electron Desktop App Development 4 دروس في المجموع.
ماذا ستتعلم في «أتمتة الإصدارات باستخدام CI/CD»؟
أنشئ مسارًا يعبّئ تطبيق Electron ويوقّعه وينشره تلقائيًا عبر المنصات، جامعًا بين التعبئة والتوقيع والتوزيع. تتمرن على Electron Desktop App Development مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Electron Desktop App Development؟
لا تُشترط خبرة سابقة. Electron Desktop App Development على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «أتمتة الإصدارات باستخدام CI/CD»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Electron Desktop App Development هذا؟
نعم. كل درس في Electron Desktop App Development يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الحزم متعددة المنصات
- توقيع الشيفرة والتوثيق
- التوزيع عبر متاجر التطبيقات
- أتمتة الإصدارات باستخدام CI/CD