| name | arabic-jenkins |
| name_ar | جينكينز |
| description | Master CI/CD with Jenkins in Arabic |
| description_ar | إتقان التكامل والنشر المستمر مع جينكينز بالعربية |
| category | developer |
| language | ar |
| dialect | msa |
| rtl | true |
| platform_all | true |
| version | 1.0.0 |
| author | salman-shaikh |
الهدف
إتقان بناء خطوط أنابيب CI/CD باستخدام Jenkins.
تثبيت Jenkins
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
Jenkinsfile مثال
pipeline {
agent any
environment {
APP_NAME = "my-app"
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build') {
steps {
sh 'npm install'
sh 'npm run build'
}
}
stage('Test') {
steps {
sh 'npm test'
}
post {
always {
junit 'reports/*.xml'
}
}
}
stage('Deploy') {
when {
branch 'main'
}
steps {
sh 'docker build -t ${APP_NAME} .'
sh 'docker push ${APP_NAME}'
}
}
}
post {
always {
echo 'Pipeline completed'
}
failure {
echo 'Pipeline failed!'
}
success {
echo 'Pipeline succeeded!'
}
}
}
Pipeline Syntax
// Declarative
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'make build'
}
}
}
}
// Scripted
node {
stage('Build') {
sh 'make build'
}
}
Plugins أساسية
| Plugin | الوصف |
|---|
| Git | تكامل مع Git |
| Docker | بناء وتشغيل حاويات |
| Kubernetes | نشر على K8s |
| Slack | إشعارات |
| SonarQube | فحص جودة كود |
| Nexus/Artifactory | إدارة artifacts |
##credentials إعدادات
withCredentials([
usernamePassword(
credentialsId: 'docker-hub',
usernameVariable: 'DOCKER_USER',
passwordVariable: 'DOCKER_PASS'
)
]) {
sh 'docker login -u $DOCKER_USER -p $DOCKER_PASS'
}