Docker vs Podman
المعيار الصناعي Docker في عالم الحاويات (containers) في مواجهة Podman ذي المقاربة اللاخادمية (daemonless). من الأفضل من ناحية الأمان والامتثال المؤسسي والاستخدام اليومي؟
منصة CI/CD متكاملة مع GitHub
خادم أتمتة مفتوح المصدر
| الفئة | GitHub Actions | Jenkins |
|---|---|---|
| الأداء | 8/10 | 8/10 |
| سهولة التعلّم | 9/10 | 4/10 |
| النظام البيئي | 9/10 | 9/10 |
| المجتمع | 9/10 | 8/10 |
| سوق العمل | 9/10 | 8/10 |
| الاستدامة المستقبلية | 9/10 | 6/10 |
# GitHub Actions — خط أنابيب CI/CD لـ Node.js
name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
- run: npm run build
deploy:
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- run: echo "جارٍ النشر على الإنتاج..."// Jenkins — خط أنابيب توصيفي (Declarative Pipeline) - Jenkinsfile
pipeline {
agent any
tools {
nodejs '20'
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('التبعيات') {
steps {
sh 'npm ci'
}
}
stage('Test') {
parallel {
stage('Unit') { steps { sh 'npm test' } }
stage('Lint') { steps { sh 'npm run lint' } }
}
}
stage('Build') {
steps { sh 'npm run build' }
}
stage('Deploy') {
when { branch 'main' }
steps { sh './scripts/deploy.sh' }
}
}
post {
failure { mail to: '[email protected]', subject: 'فشل البناء' }
}
}يُعد GitHub Actions خياراً قوياً بتكلفة صيانة منخفضة للفرق الحديثة التي تستخدم GitHub. أما Jenkins فلا يزال لا غنى عنه في المؤسسات الكبيرة التي تحتاج استقلالية عن المنصة، وتحكماً كاملاً بالبيانات، وتخصيصاً مؤسسياً. النهج المُوصى به في المشاريع الجديدة هو البدء بـGitHub Actions وتقييم الخيارات الأخرى مع تزايد التعقيد.
احصل على استشارة مجانيةمجاني تماماً للمستودعات العامة (public). للمستودعات الخاصة (private) هناك حد شهري مجاني من الدقائق (2000 دقيقة/شهر). عند تجاوزه، تُدفع تكلفة لكل دقيقة. عند استخدام عدّاء ذاتي الاستضافة (self-hosted runner)، لا تُفرض رسوم على الحوسبة.