برنامه نویسی

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

  • کد منبع 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"
    }
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • مرتکب تغییرات شوید و اکنون روی ساخت کلیک کنید.
    شرح تصویر
    شرح تصویر

با تشکر از شما برای ماندن تا پایان

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا