JasmineJS এর সাথে CI টুলস (Jenkins, Travis CI) ইন্টিগ্রেশন

Continuous Integration (CI) এবং JasmineJS - জ্যাসমিনজেএস (JasmineJS) - Web Development

270

Continuous Integration (CI) টুলস, যেমন Jenkins এবং Travis CI, ডেভেলপমেন্ট প্রক্রিয়ায় স্বয়ংক্রিয়ভাবে কোডের বিল্ড, টেস্টিং এবং ডিপ্লয়মেন্ট পরিচালনা করতে ব্যবহৃত হয়। JasmineJS একটি JavaScript টেস্টিং ফ্রেমওয়ার্ক, যা এই CI টুলগুলোর সাথে ইন্টিগ্রেট করে স্বয়ংক্রিয় টেস্টিংয়ের মাধ্যমে কোডের গুণগত মান নিশ্চিত করতে সহায়তা করে। এর মাধ্যমে, প্রতিটি কোড পরিবর্তনের পর টেস্ট চালানো যায়, যা কোডের মান বজায় রাখতে সহায়তা করে এবং দ্রুত ডেভেলপমেন্ট সাইকেল নিশ্চিত করে।

এই আর্টিকেলে, আমরা JasmineJS এর সাথে দুটি জনপ্রিয় CI টুলস Jenkins এবং Travis CI এর ইন্টিগ্রেশন পদ্ধতি আলোচনা করব।


Jenkins এর সাথে JasmineJS ইন্টিগ্রেশন

Jenkins একটি ওপেন সোর্স অটোমেটেড বিল্ড এবং কন্টিনিউয়াস ইনটিগ্রেশন সিস্টেম। এটি কোড বিল্ড, টেস্ট এবং ডিপ্লয়মেন্ট প্রক্রিয়াকে স্বয়ংক্রিয়ভাবে পরিচালনা করতে সক্ষম। JasmineJS এর সাথে Jenkins ইন্টিগ্রেট করতে, নিচের পদক্ষেপগুলো অনুসরণ করা হয়:

Jenkins সেটআপ এবং JasmineJS টেস্ট রান করা

  1. Jenkins ইনস্টল করুন: প্রথমে Jenkins ইনস্টল করতে হবে। আপনি Jenkins অফিসিয়াল সাইট থেকে Jenkins এর সর্বশেষ সংস্করণ ডাউনলোড করে ইনস্টল করতে পারেন।
  2. Jenkins প্রজেক্ট তৈরি করুন: Jenkins ড্যাশবোর্ডে গিয়ে একটি নতুন প্রজেক্ট (Job) তৈরি করুন:
    • "New Item" নির্বাচন করুন।
    • "Freestyle Project" নির্বাচন করুন এবং প্রজেক্টের নাম দিন।
  3. Source Code Repository কনফিগার করুন: আপনার JasmineJS টেস্টের কোড যেখানে রাখা আছে (যেমন, GitHub বা Bitbucket) সেটি Jenkins-এ কনফিগার করুন:
    • Source Code Management সেকশনে গিয়ে আপনার Git রিপোজিটরি URL প্রদান করুন।
    • Jenkins প্রতি বিল্ডের জন্য Git রিপোজিটরি থেকে কোড ক্লোন করবে।
  4. JasmineJS টেস্ট রান করার জন্য Build Step যোগ করুন: টেস্ট রান করার জন্য Jenkins-এ Build সেকশনে Execute Shell বা Execute Windows batch command নির্বাচন করুন এবং Jasmine টেস্ট রান করার জন্য নিচের কমান্ড দিন:

    npm install   # যদি JasmineJS এবং অন্যান্য ডিপেন্ডেন্সি ইনস্টল না করা থাকে
    npm test      # অথবা, আপনার Jasmine টেস্ট ফাইল রান করার জন্য উপযুক্ত স্ক্রিপ্ট
    
  5. বিল্ড ট্রিগার: আপনি চাইলে Jenkins-এ Build Triggers সেট করতে পারেন, যেমন GitHub এর পরিবর্তনের পর (Webhook ব্যবহার করে) বা নির্দিষ্ট সময় অন্তর (সিডিউল করা) বিল্ড ট্রিগার করা।
  6. ফলাফল দেখতে: Jenkins আপনার টেস্টের ফলাফল কনসোলে প্রদর্শন করবে এবং যদি কোনো টেস্ট ফেল হয়, তবে আপনি বিস্তারিত ত্রুটি বার্তা দেখতে পারবেন।

উদাহরণ: Jenkins কনফিগারেশন (Shell Script)

#!/bin/bash
echo "Running Jasmine Tests"
npm install
npm test

Travis CI এর সাথে JasmineJS ইন্টিগ্রেশন

Travis CI একটি ক্লাউড ভিত্তিক কন্টিনিউয়াস ইনটিগ্রেশন সিস্টেম যা GitHub প্রজেক্টের সাথে ইন্টিগ্রেট করে কোড বিল্ড এবং টেস্টিং পরিচালনা করতে সক্ষম। JasmineJS টেস্ট রান করতে Travis CI-এর সাথে ইন্টিগ্রেশন সহজ এবং কার্যকর।

Travis CI সেটআপ এবং JasmineJS টেস্ট রান করা

  1. GitHub রিপোজিটরি কানেক্ট করা: প্রথমে, আপনি আপনার GitHub রিপোজিটরি Travis CI-তে কানেক্ট করতে হবে। আপনি Travis CI এর ওয়েবসাইটে গিয়ে GitHub রিপোজিটরি যুক্ত করতে পারেন।
  2. .travis.yml ফাইল তৈরি করা: আপনার প্রকল্পের রুট ডিরেক্টরিতে .travis.yml ফাইল তৈরি করুন। এই ফাইলটি Travis CI-কে নির্দেশ দেয় কীভাবে টেস্টগুলো চালাতে হবে এবং কোন পরিবেশে টেস্ট রান করতে হবে।

    উদাহরণ:

    language: node_js
    node_js:
      - "14"  # অথবা আপনার প্রজেক্টের জন্য উপযুক্ত Node.js ভার্সন
    
    install:
      - npm install  # ডিপেন্ডেন্সি ইনস্টল
    
    script:
      - npm test    # Jasmine টেস্ট চালানো
    
  3. Travis CI বিল্ড রান করা: Travis CI আপনার GitHub রিপোজিটরিতে নতুন কোড পুশ হওয়ার পর বা নির্দিষ্ট সময় অন্তর স্বয়ংক্রিয়ভাবে টেস্ট রান করবে। প্রতিটি বিল্ডের পরে, আপনি Travis CI ড্যাশবোর্ডে টেস্টের ফলাফল দেখতে পাবেন।
  4. ফলাফল দেখা: Travis CI বিল্ডের ফলাফল এবং JasmineJS টেস্টের আউটপুট কনসোল লগে দেখাবে, যেখানে আপনি টেস্টের স্টেটাস (পাস/ফেল) এবং ত্রুটি বার্তা পাবেন।

Jenkins এবং Travis CI এর তুলনা

ফিচারJenkinsTravis CI
ইনস্টলেশনলোকাল সার্ভারে ইনস্টল করতে হয়ক্লাউড ভিত্তিক, শুধুমাত্র GitHub প্রজেক্টের জন্য
কনফিগারেশনGUI এবং Script-based কনফিগারেশন.travis.yml ফাইলের মাধ্যমে কনফিগারেশন
পারফরম্যান্সউচ্চ পারফরম্যান্স, বড় প্রকল্পে উপযুক্তছোট এবং মাঝারি প্রকল্পের জন্য উপযুক্ত
ইন্টিগ্রেশনঅনেক বিভিন্ন টুলের সাথে ইন্টিগ্রেট করা যায়GitHub, Bitbucket এর সাথে সহজ ইন্টিগ্রেশন
কাস্টমাইজেশনঅনেক বেশি কাস্টমাইজেশন অপশন আছেসীমিত কাস্টমাইজেশন, তবে সহজ কনফিগারেশন

সারাংশ

  • Jenkins এবং Travis CI দুটি CI টুল JasmineJS টেস্টিং ফ্রেমওয়ার্কের সাথে ইন্টিগ্রেট করা যায়, যার মাধ্যমে কোড পরিবর্তন হলে স্বয়ংক্রিয়ভাবে টেস্ট রানের সুবিধা পাওয়া যায়।
  • Jenkins-এ টেস্ট রান করার জন্য আপনি একটি freestyle project তৈরি করে npm test চালাতে পারেন, যেখানে Travis CI .travis.yml ফাইল ব্যবহার করে সরাসরি টেস্ট চালানোর জন্য কনফিগার করা হয়।
  • CI টুলগুলোর মাধ্যমে টেস্টিং প্রক্রিয়া অটোমেট করা হয়, যার ফলে কোডের গুণগত মান বজায় থাকে এবং দ্রুত ডেভেলপমেন্ট সাইকেল নিশ্চিত হয়।
Content added By
Promotion

Are you sure to start over?

Loading...