GitLab CI
تعلم GitLab CI/CD من أول ملف .gitlab-ci.yml إلى خطوط أنابيب متعددة المراحل مع القطع الأثرية والبيئات وعمليات النشر.
11 درسًا، بالترتيب
- 120 دقيقة
ما هو CI/CD
تخيّل فريقًا يُطلق تطبيق ويب بالطريقة القديمة. ينتهي أحدهم من ميزة، فيشغّل الاختبارات على جهازه الشخصي (أو يتخطّاها لأن الأسبوع أوشك على الانتهاء)،...
Continuous integrationContinuous deliveryContinuous deploymentPipelinesStagesJobs+2 - 225 دقيقة
أول Pipeline خاص بك
صارت المفردات في يدك الآن: خطوط الأنابيب (pipeline) والمراحل والمهام والمُشغِّلات. لكن معرفة المفردات شيء والثقة شيء آخر. حتى هذه اللحظة، عبارة...
.gitlab-ci.yml locationMinimal pipelineSingle jobScript keywordPipeline UIJob logs - 330 دقيقة
Jobs و Stages
خط الأنابيب (pipeline) الذي كتبته في الدرس الماضي كان فيه مهمة (job) واحدة. المشاريع الحقيقية لا تبقى بهذا الصِّغَر أبدًا. المشروع الحقيقي يُصرِّف...
Default stagesStage keywordParallel jobs in same stageStages keywordNeeds for DAGJob ordering - 430 دقيقة
المتغيرات والأسرار
خط الأنابيب (pipeline) الذي يتصرّف بالطريقة نفسها تماماً أيّاً كان من دفع التغيير، وأيّاً كان الفرع الذي دفعه إليه، لا يستطيع أن يميّز بيئة التجريب...
Variables blockPredefined CI variablesCI_COMMIT_SHACI_PROJECT_DIRMasked variablesProtected variables+1 - 530 دقيقة
Artifacts و Caches
كل مهمة في خط الأنابيب (pipeline) تبدأ من نسخة نظيفة من مستودعك، وتعمل داخل بيئة مؤقتة تُرمى في اللحظة التي تنتهي فيها المهمة. هذا تصميم مقصود، وهو...
Artifacts pathsArtifacts expire_inDownloading artifactsCache keyCache pathsArtifacts vs caches - 630 دقيقة
Rules و Jobs الشرطية
كل مهمة كتبتها حتى الآن تعمل مع كل دفعة، أياً كان الفرع الذي وصلت إليه وأياً كان سبب انطلاق خط الأنابيب. هذا غير مؤذٍ ما دمت تجرّب وحدك، لكنه يصير...
Rules keywordIf conditionsCI_COMMIT_BRANCHCI_PIPELINE_SOURCEWhen manualChanges paths+1 - 735 دقيقة
Docker Jobs و Services
مُشغِّل خط الأنابيب (runner) جهاز عارٍ، ولا فكرة لديه افتراضيًا أن مشروعك يحتاج Python 3.12، أو إصدارًا بعينه من Node، أو أي أداة على الإطلاق. إن...
Image keywordServices keywordPostgres serviceRedis serviceDocker-in-dockerService networking - 830 دقيقة
البيئات والنشرات
مهمة النشر عندك تعمل. تشغّل scp أو kubectl apply أو playbook في Ansible، وتنتهي بنجاح، وتصير النسخة الجديدة على الهواء. ثم يسألك أحدهم سؤالاً لا...
Environment keywordEnvironment nameEnvironment urlDeployment trackingManual production deployDynamic environments+1 - 930 دقيقة
Includes و Templates
مع مشروعك الثالث تبدأ ملفات .gitlab-ci.yml بالتشابه إلى حدّ التكرار. مهمة الفحص نفسها. إعداد الاختبارات نفسه بمفتاح الكاش نفسه. وكتلة Docker داخل...
Include localInclude projectInclude remoteInclude templateExtends keywordYAML anchors+1 - 1030 دقيقة
Runners
كل ما مرّ في هذا المسار حتى الآن كان وصفاً لعمل. كتبت سطور script:، وقرأها GitLab، وبطريقة ما ظهرت حاوية ونفّذت اختباراتك وأبلغت بالنتيجة. تلك...
Shared runnersGroup runnersProject runnersDocker executorShell executorKubernetes executor+2 - 1160 دقيقة
المشروع الختامي: بناء واختبار ونشر
كل درس في هذا المساق علَّمك كلمة مفتاحية واحدة على مهمة صغيرة مصطنعة. هكذا تتعلَّم كلمة مفتاحية، لكن ليس هكذا تلقاها في الواقع. خط الأنابيب...
Multi-stage pipelineBuild artifactPostgres service testDocker image build and pushManual production deployRules on main
تعلّم GitLab CI بلغتك
كل درس واختبار ورد من المدرس يظهر بلغتك. المدرس الذكي يرد بنفس اللغة التي تكتب بها.
Roles that use GitLab CI
See how hiring teams interview engineers on GitLab CI, in production-like environments.
CI/CD Engineer
Hire CI/CD engineers who keep your release train on time. Interview them in real GitHub Actions, GitLab CI and Jenkins workspaces with builds that fail the way they do in production.
See the interviewRelease/Build Engineer
Hire release and build engineers who make shipping boring. Real repos, real artifact stores, real signing flows. We record every step they take.
See the interviewDevOps Engineer
Hire DevOps engineers who actually ship. Run live or take-home interviews in production-like Linux environments with Docker, Kubernetes, Terraform and CI/CD. See how they debug, automate, and work alongside AI.
See the interview