این مستند راهنمایی برای خودکارسازی استقرار بر روی سرورهای ابری با استفاده از CI/CD Pipelines است. در این مستند، از ابزارهایی مانند Git, Jenkins و Docker استفاده خواهیم کرد تا نحوه تنظیم و پیکربندی CI/CD Pipelines را نشان دهیم.
پیشنیازها
- یک سرور ابری با سیستمعامل Ubuntu 20.04
- دسترسی به اینترنت
- دسترسی sudo به سرور
- نصب Docker و Jenkins
نصب و پیکربندی Jenkins
مرحله 1: نصب Jenkins
ابتدا باید Jenkins را بر روی سرور خود نصب کنید.
# بهروزرسانی مخازن و نصب ابزارهای ضروری
sudo apt update
sudo apt install -y openjdk-11-jdk wget gnupg
# افزودن مخزن Jenkins
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'
# نصب Jenkins
sudo apt update
sudo apt install -y jenkins
مرحله 2: شروع به کار Jenkins
# شروع سرویس Jenkins و فعالسازی آن برای راهاندازی خودکار
sudo systemctl start jenkins
sudo systemctl enable jenkins
# دسترسی به رابط کاربری وب Jenkins در پورت 8080
مرحله 3: پیکربندی Jenkins
پس از نصب، میتوانید به رابط کاربری وب Jenkins در پورت 8080 دسترسی پیدا کنید. برای اولین بار ورود، به رمز عبور اولیه نیاز دارید که میتوانید آن را از فایل زیر بردارید:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
نصب و پیکربندی Docker
مرحله 1: نصب Docker
برای نصب Docker، دستورات زیر را اجرا کنید:
# بهروزرسانی مخازن و نصب Docker
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
sudo apt install -y docker-ce
# افزودن کاربر Jenkins به گروه Docker
sudo usermod -aG docker jenkins
مرحله 2: تنظیم Docker در Jenkins
به رابط کاربری وب Jenkins بروید و پلاگین Docker را نصب کنید. برای این کار به مسیر زیر بروید:
- Manage Jenkins -> Manage Plugins -> Available
و پلاگین Docker را جستجو و نصب کنید.
ایجاد یک Pipeline در Jenkins
مرحله 1: ایجاد یک پروژه جدید Pipeline
در Jenkins، به مسیر زیر بروید:
- New Item -> Pipeline
و یک پروژه جدید با نام دلخواه ایجاد کنید.
مرحله 2: پیکربندی Pipeline
در بخش “Pipeline” از تنظیمات پروژه، اسکریپت زیر را وارد کنید:
pipeline {
agent any
stages {
stage('Clone Repository') {
steps {
git 'https://github.com/your-repo/your-project.git'
}
}
stage('Build Docker Image') {
steps {
script {
def app = docker.build("your-image-name:latest")
}
}
}
stage('Deploy to Server') {
steps {
script {
docker.withRegistry('https://registry.hub.docker.com', 'docker-hub-credentials') {
app.push('latest')
}
}
}
}
}
}
مثال کد برای Jenkinsfile
در پروژه خود یک فایل به نام Jenkinsfile
ایجاد کنید و محتویات زیر را در آن قرار دهید:
pipeline {
agent any
environment {
DOCKER_HUB_CREDENTIALS = credentials('docker-hub-credentials')
}
stages {
stage('Clone Repository') {
steps {
git 'https://github.com/your-repo/your-project.git'
}
}
stage('Build Docker Image') {
steps {
script {
def app = docker.build("your-image-name:latest")
}
}
}
stage('Deploy to Server') {
steps {
script {
docker.withRegistry('', DOCKER_HUB_CREDENTIALS) {
app.push('latest')
}
}
}
}
}
}
مرحله 3: ایجاد Dockerfile در پروژه
در پروژه خود یک فایل به نام Dockerfile
ایجاد کنید و محتویات زیر را در آن قرار دهید:
# استفاده از تصویر پایه
FROM ubuntu:20.04
# نصب ابزارهای ضروری
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
# کپی فایلهای پروژه به داخل تصویر
COPY . /app
# تنظیم دایرکتوری کاری
WORKDIR /app
# نصب وابستگیها
RUN pip3 install -r requirements.txt
# اجرای برنامه
CMD ["python3", "app.py"]
نتیجهگیری
با این راهنمای مستند، شما میتوانید یک CI/CD Pipeline کامل را با استفاده از Jenkins و Docker بر روی سرورهای ابری خود پیادهسازی کنید. این سیستم به شما کمک میکند تا فرآیندهای استقرار به صورت خودکار و قابل اعتماد انجام شوند و کارایی تیم توسعه را افزایش دهید.