برنامه نویسی
نحوه ایجاد یک کار خط لوله جنکینز

- کد منبع GitHub
- نشانه دسترسی شخصی GitHub
- برای استفاده از یک الگوی از پیش تعریف شده برای ایجاد مخزن اینجا را کلیک کنید.
- نامی را برای مخزن خود وارد کنید.
- توضیحات خود را وارد کنید
- دید خصوصی را تنظیم کنید.
- ایجاد مخزن را انتخاب کنید.
برای اینکه جنکینز بتواند به مخزن خصوصی GitHub خود دسترسی پیدا کند ، باید اعتبار GitHub را در UI جنکینز پیکربندی کنید. این امر به یک نشانه دسترسی شخصی نیاز دارد – لطفاً برای ایجاد یکی به مستندات رسمی GitHub مراجعه کنید.
- به جنکین های خود وارد شوید و روی مورد جدید کلیک کنید. برای نصب جنکینز اینجا را کلیک کنید
- با کلیک بر روی Jenkinsfile در repo ما در مرحله ساخت شما تغییراتی ایجاد می شود و برای ویرایش روی نماد مداد کلیک می کند.
- در مرحله BUID ، مرحله موجود را حذف کرده و دو مرحله جدید را اضافه می کنید
sh 'chmod a+x run_build_script.sh'
sh './run_build_script.sh'
ویرایش Jenkinsfile شما باید به این شکل باشد
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'chmod a+x run_build_script.sh'
sh './run_build_script.sh'
}
}
stage('Test') {
steps {
echo "Run tests"
}
}
}
}
- روی تعهد تغییرات کلیک کنید.
- بازگشت به UI جنکینز ، برای شروع یک ساخت جدید ، روی Build Now کلیک کنید
- پس از موفقیت در ساخت شماره 2 ، روی Console Output کلیک کنید.
- برای تأیید دو مرحله پیکربندی شده به عنوان بخشی از مرحله ساخت ، به پایین بروید.
- سر به Jenkinsfile در Github ، مرحله موجود را برداشته و یک مرحله جدید را با یک بلوک موازی در آن اضافه کنید که دارای دو مرحله است (تست بر روی ویندوز و تست در لینوکس)
stage('Test') {
parallel {
stage('Test On Windows') {
steps {
echo "Running tests on Windows"
}
}
stage('Test On Linux') {
steps {
echo "Running tests on Linux"
}
}
ویرایش Jenkinsfile شما باید به این شکل باشد
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'chmod a+x run_build_script.sh'
sh './run_build_script.sh'
}
}
stage('Test') {
parallel {
stage('Test On Windows') {
steps {
echo "Running tests on Windows"
}
}
stage('Test On Linux') {
steps {
echo "Running tests on Linux"
}
}
}
}
}
}
- مرتکب تغییرات
- بازگشت به UI Jenkins خود ، اکنون روی ساخت کلیک کنید
NB: ساخت شماره 3 من با خطایی روبرو شد ، من آن را اشکال زدایی کردم و دوباره آن را ساختم به همین دلیل نمایش ساخت شماره 4 را نشان می دهد. - خروجی کنسول را بررسی کنید ، به پایین بروید تا تأیید کنید که دو مرحله تست موازی را ببینید.
- با افزودن این مورد ، دوباره جنکینزفیل را در GitHub اصلاح کنید:
stage('Confirm Deploy to staging') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Staging') {
steps {
echo "Deploying to staging..."
}
}
}
}
ویرایش Jenkinsfile شما باید به این شکل باشد:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'chmod a+x run_build_script.sh'
sh './run_build_script.sh'
}
}
stage('Test') {
parallel {
stage('Test On Windows') {
steps {
echo "Running tests on Windows"
}
}
stage('Test On Linux') {
steps {
echo "Running tests on Linux"
}
}
}
}
stage('Confirm Deploy to staging') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Staging') {
steps {
echo "Deploying to staging..."
}
}
}
}
- مرتکب تغییرات شوید
- برای شروع ساخت دیگری به UI Jenkins بروید.
- این درخواست را درخواست کرد
- پس از کلیک بر روی این کار!
- Jenkinsfile را با اضافه کردن اصلاح کنید:
stage('Confirm Deploy to production') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Production') {
steps {
echo "Deploying to production..."
}
}
}
پرونده ویرایش شده شما باید به این شکل باشد:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'chmod a+x run_build_script.sh'
sh './run_build_script.sh'
}
}
stage('Test') {
parallel {
stage('Test On Windows') {
steps {
echo "Running tests on Windows"
}
}
stage('Test On Linux') {
steps {
echo "Running tests on Linux"
}
}
}
}
stage('Confirm Deploy to staging') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Staging') {
steps {
echo "Deploying to staging..."
}
}
stage('Confirm Deploy to production') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Production') {
steps {
echo "Deploying to production..."
}
}
}
}
- به UI Jenkins برگردید و اکنون روی Build کلیک کنید. شما استقرار را به مرحله بندی و همچنین استقرار در تولید تأیید خواهید کرد.
- به سمت جنکینزفیل بروید و یک عمل پس از ساخت اضافه کنید.
post {
success {
echo "build succeeded"
}
failure {
echo "Build failed"
}
}
}
این کار به کاربران در مورد شرایط موفقیت و شکست اطلاع می دهد.
ویرایش شده Jenkinsfile شما اکنون باید به این شکل باشد:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'chmod a+x run_build_script.sh'
sh './run_build_script.sh'
}
}
stage('Test') {
parallel {
stage('Test On Windows') {
steps {
echo "Running tests on Windows"
}
}
stage('Test On Linux') {
steps {
echo "Running tests on Linux"
}
}
}
}
stage('Confirm Deploy to staging') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Staging') {
steps {
echo "Deploying to staging..."
}
}
stage('Confirm Deploy to production') {
steps {
timeout(time: 60, unit: 'SECONDS') {
input(message: 'Okay to Deploy?', ok: 'Let\'s Do it!')
}
}
}
stage('Deploy to Production') {
steps {
echo "Deploying to production..."
}
}
}
post {
success {
echo "build succeeded"
}
failure {
echo "Build failed"
}
}
}
- مرتکب تغییرات شوید و اکنون روی ساخت کلیک کنید.
با تشکر از شما برای ماندن تا پایان