ড্রুপাল (Drupal) প্রজেক্টের ডেভেলপমেন্ট, ডিপ্লয়মেন্ট এবং মেইনটেন্যান্সে Version Control (বিশেষ করে Git) এবং Continuous Integration (CI) ব্যবহারের গুরুত্ব অনেক। Git এবং CI সিস্টেম ড্রুপাল সাইটের ডেভেলপমেন্ট এবং মেইনটেন্যান্স প্রক্রিয়া সহজ করে তোলে, কোডের মধ্যে কোনো ভুল বা ইস্যু থাকলে তা দ্রুত চিহ্নিত এবং সমাধান করতে সাহায্য করে।
এই গাইডে, আমরা ড্রুপাল সাইটে Git Version Control এবং Continuous Integration (CI) সেটআপ করার প্রক্রিয়া আলোচনা করব।
১. Git Version Control
Git একটি ডিসট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম, যা কোডের সংস্করণ ট্র্যাক করতে ব্যবহৃত হয়। এটি ডেভেলপারদের পরিবর্তন শেয়ার করতে এবং কোডের ইতিহাস রক্ষা করতে সহায়তা করে। ড্রুপাল সাইটে Git ব্যবহার করে আপনি সাইটের সমস্ত কোড, কনফিগারেশন, এবং কাস্টম থিম বা মডিউল ট্র্যাক করতে পারবেন।
Step 1: Git ইনস্টলেশন
Git ইনস্টল করতে, নিচের পদক্ষেপগুলি অনুসরণ করুন:
Windows:
- Git for Windows ডাউনলোড করুন এবং ইনস্টল করুন।
- Git Bash খোলার মাধ্যমে কমান্ড লাইন ব্যবহার করতে পারবেন।
Linux/macOS:
sudo apt-get install git # Ubuntu
brew install git # macOS
Step 2: Git Repository তৈরি করুন
ড্রুপাল সাইটের জন্য একটি Git রেপোজিটরি তৈরি করতে, সাইটের মূল ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:
cd /path/to/your/drupal/site # সাইটের রুট ডিরেক্টরিতে যান
git init # নতুন গিট রেপোজিটরি তৈরি করুন
Step 3: Git Commit এবং Push
Git রেপোজিটরিতে কোড যোগ করতে এবং আপডেট করতে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
সমস্ত ফাইল স্টেজ করুন:
git add .পরিবর্তনগুলি কমিট করুন:
git commit -m "Initial commit of Drupal site"রিমোট রেপোজিটরি (যেমন GitHub, GitLab, Bitbucket) তৈরি করে সেটি যোগ করুন:
git remote add origin https://github.com/yourusername/your-repository.gitপ্রথমবার রিমোট রেপোজিটরিতে কোড পুশ করুন:
git push -u origin master
২. Continuous Integration (CI)
Continuous Integration (CI) হল একটি সফটওয়্যার ডেভেলপমেন্ট প্র্যাকটিস, যেখানে ডেভেলপাররা নিয়মিতভাবে (দৈনিক বা প্রতি ঘণ্টায়) কোড রিপোজিটরিতে পরিবর্তন পুশ করে এবং একটি অটোমেটিক টেস্টিং সিস্টেমের মাধ্যমে কোডের গুণগত মান পরীক্ষা করা হয়। CI ব্যবহারে ডেভেলপাররা দ্রুত কোড ইস্যু চিহ্নিত করতে পারে এবং সাইটের উন্নতি টেস্টিংয়ের মাধ্যমে নিরীক্ষণ করা যায়।
ড্রুপালে CI সেটআপ করতে সাধারণত GitHub Actions, GitLab CI, বা Jenkins ব্যবহৃত হয়। এখানে GitHub Actions এর মাধ্যমে CI সেটআপের একটি উদাহরণ দেওয়া হয়েছে।
Step 1: GitHub Actions CI সেটআপ
- GitHub repository তৈরি করুন এবং আপনার ড্রুপাল সাইটের কোডটি সেখানে পুশ করুন।
- GitHub repository এর মধ্যে .github/workflows ডিরেক্টরি তৈরি করুন।
- সেই ডিরেক্টরিতে একটি নতুন YAML ফাইল তৈরি করুন, যেমন
ci.ymlএবং নিচের কনফিগারেশন যোগ করুন:
name: Drupal CI
on:
push:
branches:
- master # বা আপনার মূল শাখা
pull_request:
branches:
- master
jobs:
drupal-ci:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4 # আপনার প্রয়োজন অনুযায়ী PHP ভার্সন সেট করুন
- name: Install dependencies
run: |
composer install
- name: Run PHPUnit tests
run: |
./vendor/bin/phpunit --configuration phpunit.xml.dist
- name: Deploy to staging server
run: |
# আপনার স্টেজিং সার্ভারে ডিপ্লয়মেন্ট কমান্ড এখানে যোগ করুন
এই YAML ফাইলটি GitHub Actions-এর মাধ্যমে কোড চেকআউট, PHP সেটআপ, ডিপেনডেন্সি ইনস্টল, PHPUnit টেস্ট চালানো এবং স্টেজিং সার্ভারে ডিপ্লয়মেন্ট পরিচালনা করবে।
Step 2: GitHub Actions চালানো
- এই কনফিগারেশন ফাইলটি আপনার রিপোজিটরিতে যোগ করার পর, GitHub স্বয়ংক্রিয়ভাবে আপনার CI ওয়ার্কফ্লো চালাবে।
- আপনি GitHub রিপোজিটরি পৃষ্ঠায় গিয়ে Actions ট্যাবে CI রান দেখুন এবং ফলাফল মনিটর করুন।
৩. Jenkins CI সেটআপ (অথবা অন্য CI টুল)
Jenkins, GitLab CI, Travis CI ইত্যাদি অন্যান্য CI টুল ব্যবহার করেও ড্রুপালে Continuous Integration সেটআপ করা যেতে পারে। Jenkins সেটআপের জন্য, নিচের মূল পদক্ষেপগুলো পালন করা হয়:
- Jenkins ইনস্টলেশন: Jenkins সাইট থেকে Jenkins ইনস্টল করুন।
- Jenkins Pipeline তৈরি: Jenkins এ একটি পিপলাইনের মাধ্যমে ড্রুপাল সাইটের জন্য CI পদ্ধতি কনফিগার করুন।
- GitHub Integration: Jenkins কে GitHub রিপোজিটরির সাথে ইন্টিগ্রেট করুন যাতে কোড পুশ হলে Jenkins স্বয়ংক্রিয়ভাবে CI রান করতে পারে।
Jenkins পিপলাইন কনফিগারেশন উদাহরণ:
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git 'https://github.com/yourusername/your-repository.git'
}
}
stage('Install Dependencies') {
steps {
script {
sh 'composer install'
}
}
}
stage('Run Tests') {
steps {
script {
sh './vendor/bin/phpunit'
}
}
}
stage('Deploy') {
steps {
script {
sh 'scp -r . user@staging-server:/path/to/your/drupal-site'
}
}
}
}
}
৪. Git এবং CI এর মাধ্যমে ড্রুপাল সাইটের মেইনটেন্যান্স এবং ডিপ্লয়মেন্ট
- Git সিস্টেম সাইটের কোডকে ট্র্যাক করতে এবং বিভিন্ন ডেভেলপারদের মধ্যে কোড শেয়ার করতে সাহায্য করে।
- CI সিস্টেম সাইটের নতুন কোড পরিবর্তন এবং ফিচারগুলির জন্য নিয়মিতভাবে টেস্ট রান করতে এবং সমস্যা চিহ্নিত করতে সাহায্য করে।
- আপনি Git এবং CI ব্যবহারের মাধ্যমে আপনার ড্রুপাল সাইটের মেইনটেন্যান্স প্রক্রিয়া আরও সহজ এবং নির্ভরযোগ্য করতে পারেন।
উপসংহার
ড্রুপালে Version Control (Git) এবং Continuous Integration (CI) ব্যবহারের মাধ্যমে সাইটের কোড ম্যানেজমেন্ট এবং উন্নয়ন প্রক্রিয়াকে আরও দক্ষ এবং স্থিতিশীল করা যায়। Git এবং CI সিস্টেম ড্রুপাল সাইটের কোডের মধ্যে নিয়মিত আপডেট এবং অটোমেটেড টেস্টিং ব্যবস্থা তৈরি করে, যার ফলে আপনার সাইটের কোডের গুণগত মান নিশ্চিত হয় এবং সাইটের ডেভেলপমেন্ট প্রক্রিয়া দ্রুত এবং নির্ভরযোগ্য হয়ে ওঠে।
Read more