পিএইচপি প্রকল্পগুলির জন্য একটি স্থাপনা / বিল্ড / সিআই চক্র স্থাপন করছে


200

আমি আমার বেশিরভাগ সময় একাকী বিকাশকারী, বেশ কয়েকটি বড়, প্রধানত পিএইচপি-ভিত্তিক প্রকল্পগুলিতে কাজ করি। আমি কীভাবে কোড বেসে পরিবর্তনগুলি পরিচালনা করা হয় পেশাদার এবং স্বয়ংক্রিয় করতে চাই এবং একটি অবিচ্ছিন্ন ইন্টিগ্রেশন প্রক্রিয়া তৈরি করি যা মৌলিক পরিবর্তন না করেই একটি দলে কাজ করার জন্য রূপান্তরকে সম্ভব করে তোলে।

আমি এখনই যা করছি তা হ'ল, প্রতিটি প্রকল্পের জন্য আমার স্থানীয় পরীক্ষার পরিবেশ রয়েছে; আমি প্রতিটি প্রকল্পের জন্য এসভিএন ব্যবহার করি; পরিবর্তনগুলি স্থানীয়ভাবে পরীক্ষা করা হয় এবং তারপরে সাধারণত এফটিপি এর মাধ্যমে অন-লাইন সংস্করণে স্থানান্তরিত হয়। সোর্স কোড থেকে এপিআই ডকুমেন্টেশন ম্যানুয়ালি তৈরি করা হয়; ইউনিট পরীক্ষাগুলি এমন কিছু যা আমি ধীরে ধীরে .ুকে পড়ছি এবং এটি এখনও আমার দৈনন্দিন রুটিনের অংশ নয়।

আমি যে "বিল্ড চক্র "টি কল্পনা করছি তা নিম্নলিখিতগুলি করবে:

  • স্থানীয়ভাবে পরীক্ষার পরে একটি পরিবর্তনটি এসভিএন-এ চেক হয়।

  • আমি বিল্ড প্রক্রিয়া শুরু। এসভিএন হেড সংশোধনটি চেক আউট হয়ে যায়, প্রয়োজনে সংশোধন করা হয় এবং আপলোডের জন্য প্রস্তুত হয়ে যায়।

  • এপিআই ডকুমেন্টেশন স্বয়ংক্রিয়ভাবে উত্পন্ন হয় - যদি আমি এখনও এটিকে বিশদভাবে সেট আপ না করি, একটি ডিফল্ট টেম্পলেট ব্যবহার করে পুরো কোড বেসটি স্ক্যান করে।

  • নতুন সংস্করণ FTP- র মাধ্যমে দূরবর্তী অবস্থান থেকে মোতায়েন করা হয় (কিছু ডিরেক্টরি পুনঃনামকরনের সহ chmodding ডাটাবেস আমদানি, এবং পছন্দগুলি।) এই কিছু আমি ইতিমধ্যেই মত হল phing খুব জন্য, কিন্তু আমি অবশ্যই বিকল্প জন্য খোলা নেই।

  • পূর্বনির্ধারিত স্থানে থাকা ইউনিট পরীক্ষা চালানো হয়। আমি তাদের ব্যর্থতা বা সাফল্য সম্পর্কে ই-মেল, আরএসএস বা (বেশিরভাগ ক্ষেত্রে) এইচটিএমএল আউটপুট যা আমি দখল করতে এবং ওয়েব পৃষ্ঠায় রাখতে পারি তা অবহিত।

  • (allyচ্ছিকভাবে) একটি পূর্বনির্ধারিত স্থানে একটি শেষ ব্যবহারকারী "চেঞ্জলগ" পাঠ্য ফাইলটি কমিট বার্তার একটি পূর্বনির্ধারিত অংশের সাথে আপডেট হয় ("এখন" foo "এবং" বার "উভয়ের জন্যই একই ফিল্টার করা সম্ভব) সময়)। এই বার্তাটি অগত্যা এসভিএন কমিট বার্তার সাথে অভিন্ন নয়, সম্ভবত এটিতে আরও অনেক অভ্যন্তরীণ তথ্য রয়েছে।

  • কোড মেট্রিকের মতো স্টাফ, কোড স্টাইল চেকিং এবং এ মুহূর্তে আমার প্রাথমিক ফোকাস নয়, তবে দীর্ঘমেয়াদে, তারা অবশ্যই করবে। এই বাক্সটিকে বাইরে আনার সমাধানগুলি খুব দয়া করে দেখানো হয়।

আমি খুজছি

  • মতামত এবং একই রকম পরিস্থিতিতে থাকা ব্যক্তিদের কাছ থেকে প্রাপ্ত অভিজ্ঞতা এবং এর জন্য একটি সমাধান সফলভাবে বাস্তবায়ন করেছে

  • বিশেষত, এটি কীভাবে সেট আপ করবেন সে সম্পর্কে ভাল ধাপে ধাপে টিউটোরিয়াল এবং ওয়াকথ্রুগুলি

  • সমাধানগুলি যা যথাসম্ভব অটোমেশন সরবরাহ করে , উদাহরণস্বরূপ, প্রতিটি নতুন প্রকল্পের জন্য একটি কঙ্কাল API, পরীক্ষার কেস ইত্যাদি তৈরি করে and

এবং যদিও

  • পণ্য সুপারিশ । আমি এখন অবধি যা জানি তা হল বিল্ডিংয়ের জন্য phing / পিঁপড়া, এবং রিপোর্টিং অংশের জন্য phpUenderControl বা হাডসন । আমি যতদূর দেখতে পাচ্ছি সেগুলি আমি পছন্দ করি তবে তাদের সাথে অবশ্যই আমার কোনও বিশদ অভিজ্ঞতা নেই।

আমি কাজের সাথে জড়িত, তাই সহজ সমাধানগুলির দিকে আমার দৃ strong় ঝোঁক রয়েছে। অন্যদিকে, যদি কোনও বৈশিষ্ট্য অনুপস্থিত থাকে তবে আমি এটি খুব সীমাবদ্ধ হওয়ার বিষয়ে চিৎকার করব। :) পয়েন্ট-ও-ক্লিক সমাধানগুলিও স্বাগত। আমি বাণিজ্যিক পণ্য সুপারিশগুলিতেও আছি যা পিএইচপি প্রকল্পগুলির সাথে কাজ করতে পারে।

আমার সেটআপ

আমি স্থানীয়ভাবে উইন্ডোজে কাজ করছি (7, সঠিক হতে) এবং বেশিরভাগ ক্লায়েন্ট প্রকল্পগুলি প্রায়শই শেয়ার্ড হোস্টিংয়ে (= দূরবর্তী এসএসএইচ নেই) একটি এলএএমপি স্ট্যাকের উপর চালিত হয়। আমি এমন সমাধান খুঁজছি যা আমি নিজের পরিবেশে চালাতে পারি। আমি এর জন্য একটি লিনাক্স ভিএম সেট আপ করতে প্রস্তুত, কোনও সমস্যা নেই। হোস্টেড সমাধানগুলি কেবলমাত্র তখনই বর্ণিত সমস্ত দিক সরবরাহ করে বা প্রক্রিয়াটির অন্যান্য অংশগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য যথেষ্ট নমনীয় হয় তবে তা আমার জন্য আকর্ষণীয়।

অনুগ্রহ করে আমি উত্তরটি গ্রহণ করছি যা আমার মনে হয় যে আমাকে সবচেয়ে মাইলেজ দেবে। এখানে প্রচুর চমত্কার ইনপুট রয়েছে, আমি আশা করি আমি একাধিক উত্তর গ্রহণ করতে পারি। ধন্যবাদ সবাইকে!

উত্তর:


76

আমি মাধ্যমে চলেছি buildbot , CruiseControl.net , CruiseControl এবং হাডসন । যদিও আমি সত্যিই ক্রুজকন্ট্রোল * পছন্দ করেছি, এটি সত্যিই জটিল নির্ভরশীলতার ক্ষেত্রে খুব ঝামেলা ছিল। বিল্ডবোট সেট আপ করা সহজ নয়, তবে এটি একটি সুন্দর আভা পেয়েছে (আমি ঠিক পাইথন পছন্দ করি, এটিই সব)। তবে হডসন প্রাক্তন তিনটির উপরে জিতেছে কারণ:

  1. এটি সেট আপ করা সহজ
  2. এটি কাস্টমাইজ করা সহজ
  3. এটি দেখতে দুর্দান্ত এবং সুন্দর ওভারভিউ কার্যকারিতা পেয়েছে
  4. এটি নিজের এবং সমস্ত ইনস্টল হওয়া প্লাগইনগুলির জন্য পয়েন্ট-এ-ক্লিক আপডেটগুলি পেয়েছে। এটি একটি দুর্দান্ত বৈশিষ্ট্য, যা আমি আরও বেশি করে প্রশংসা করি

সতর্কীকরণ: আমি শুধুমাত্র কখনও উপরে উল্লিখিত বিল্ড সার্ভার (চালু CC.net দৌড়ে জন্য বেস হিসাবে লিনাক্স ব্যবহার মনো ), কিন্তু তারা সব হবে - দস্তাবেজ অনুযায়ী - ক্রস-প্ল্যাটফর্ম চালানো।

হডসন সার্ভার সেট আপ করা হচ্ছে

পূর্বশর্ত:

  • জাভা (1.5 আপনি ঠিক কাজ করবে)
  • সাবভারশন সার্ভারে অ্যাক্সেস পড়ুন (আমার কাছে হডসন ব্যবহারকারীর জন্য আলাদা অ্যাকাউন্ট আছে)

এখান থেকে, এটি ঠিক:

java -jar hudson.war

এটি আপনার কনসোলের ঠিক সামনেই একটি ছোট সার্ভার উদাহরণটি চালাবে এবং আপনার http://localhost:8080যদি সেই বন্দরে আগে থেকে কিছু চালিত না থাকে তবে আপনার ইনস্টলেশনটি ব্রাউজ করতে সক্ষম হবেন ( --httpPort=ANOTHER_HTTP_PORTবিকল্পটি পাস করে আপনি অন্য একটি পোর্ট নির্দিষ্ট করতে পারেন ) কমান্ডের উপরে) এবং সবকিছু 'ইনস্টলেশন' প্রক্রিয়াতে ভাল হয়েছে।

আপনি যদি উপলভ্য প্লাগইন ডিরেক্টরিতে ( http://localhost:8080/pluginManager/available) যান, আপনি উপরোক্ত উল্লিখিত কার্যগুলিতে সমর্থন করার জন্য প্লাগইনগুলি পাবেন (প্রতিফলন সমর্থন ডিফল্ট হিসাবে ইনস্টল করা আছে) is

যদি আপনার ক্ষুধা লাগে তবে আপনার জাভা অ্যাপ্লিকেশন সার্ভার যেমন টমক্যাট বা জেটি ইনস্টল করা উচিত । সমস্ত বড় অ্যাপ্লিকেশন সার্ভারের জন্য ইনস্টলেশন নির্দেশাবলী উপলব্ধ

আপডেট : কোহসুক কাওয়াগুচি হডসনের জন্য একটি উইন্ডোজ পরিষেবা ইনস্টলার তৈরি করেছেন

হাডসনে একটি প্রকল্প স্থাপন করা

নিম্নলিখিত ওয়াক-থ্রো লিঙ্কগুলি হডসনের অবস্থিত একটি চলমান উদাহরণ অনুমান করে http://localhost:8080

  1. http://localhost:8080/view/All/newJobবাম মেনু থেকে নতুন কাজ ( ) নির্বাচন করুন
  2. কাজটি একটি নাম দিন এবং Build a free-style software projectতালিকায় টিক দিন
  3. 'ওকে' টিপুন আপনাকে কাজের কনফিগারেশন পৃষ্ঠায় নিয়ে যাবে। সমস্ত বিকল্পের পাশাপাশি তাদের সামান্য প্রশ্ন চিহ্ন রয়েছে। এটি টিপলে বিকল্প সম্পর্কিত সহায়তা পাঠ্য হবে।
  4. বিকল্প উত্স 'সোর্স কোড ম্যানেজমেন্ট' এর অধীনে আপনি সাবভারশন ব্যবহার করবেন। হাডসন ইউআরএল অ্যাক্সেসের পাশাপাশি স্থানীয় মডিউল অ্যাক্সেস উভয়ই গ্রহণ করে
  5. 'বিল্ড ট্রিগারস' বিকল্প গোষ্ঠীর অধীনে আপনি 'পোল এসসিএম' ব্যবহার করবেন। এখানে ব্যবহৃত সিনট্যাক্সটি ক্রোন হিসাবে কাজ করছে, তাই প্রতি 5 মিনিটে সাবভার্শন রিপোজিটরিটি পোলিং করা হবে*/5 * * * *
  6. প্রকল্পটি নির্মাণের প্রক্রিয়াটি 'বিল্ড' অপশন গ্রুপের আওতায় সুনির্দিষ্ট করা হয়েছে। আপনার যদি ইতিমধ্যে আপনার প্রয়োজন সমস্ত টার্গেট সহ একটি পিপড়া বিল্ড ফাইল থাকে তবে আপনি ভাগ্যবান you're কেবলমাত্র 'পিঁপড়াকে ডাকুন' বেছে নিন এবং লক্ষ্যটির নামটি লিখুন। বিকল্প গ্রুপটি বাক্সের বাইরেও মাভেন এবং শেল কমান্ডগুলি সমর্থন করে, তবে ফিংয়ের জন্য একটি প্লাগইনও রয়েছে
  7. 'পোস্ট বিল্ড অ্যাকশনস'-এ অতিরিক্ত বিল্ড ক্রিয়াগুলি যেমন: ইমেল বিজ্ঞপ্তিগুলি বা বিল্ড আর্টফেসগুলি সংরক্ষণাগার হিসাবে সংরক্ষণ করুন।

প্রক্রিয়াগুলি স্থাপনের জন্য যার জন্য হডসনের কোনও প্লাগইন নেই, আপনি সেগুলি বিল্ড সেটআপের মধ্যে থেকে সরাসরি শেল স্ক্রিপ্টের মাধ্যমে সরাসরি কল করতে পারেন, অথবা আপনি নিজের প্লাগইন লিখতে পারেন

pitfalls:

  • আপনার যদি এটি নির্মাণের নিদর্শন তৈরি করে থাকে তবে মনে রাখবেন যে নিয়মিত বিরতিতে হডসন নিজেই পরিষ্কার হয়ে যান।
  • আপনার যদি 20 টিরও বেশি প্রকল্প স্থাপন করা থাকে তবে হডসনে ডিফল্ট প্রধান পৃষ্ঠা হিসাবে তাদের বিল্ডের স্থিতি প্রদর্শন না করার বিষয়টি বিবেচনা করুন

শুভকামনা!


2
আমি মনে করি আপনার ক্রোন সিনট্যাক্সে একটি ত্রুটি আছে। এটি প্রতি ঘন্টা পঞ্চম মিনিটে চলবে। আপনি যদি প্রতি 5 মিনিটে রেপোটি পোল করতে চান তবে আপনাকে * / 5 ব্যবহার করতে হবে
ব্রায়ান উইগিংটন

2
@ ব্রায়ান উইগগিন্টন: আপনি পুরোপুরি ঠিক বলেছেন। এমনকি আমি পোস্টটি সংশোধন করার চেষ্টাও করেছি, তবে আমি এটি সংরক্ষণ করতে পারি না কারণ আমার কাছে "লোকালহোস্ট" নামে "একটি অবৈধ হোস্টনামের রেফারেন্স" রয়েছে। আমি আশা করি মানুষ সংশোধনের জন্য এখানে নীচে তাকান।
স্টেইন

22

আপনি যে শব্দটির সন্ধান করছেন তা হ'ল "ক্রমাগত একীকরণ"।

এখানে GIT + phpundercontrol ব্যবহারকারীর উদাহরণ রয়েছে: http://maff.ailoo.net/2009/09/continuous-integration-phpundercontrol-git/

ক্রুজ কনট্রোল (যা একটি সিআই সার্ভার), হোস্ট করা এসভিএন / জিআইটি উত্স হিসাবে ব্যবহার করতে পারে। সুতরাং আপনি এটি গিটহাব বা বিনস্টালক বা অন্য কোনও কিছু দিয়েও ব্যবহার করতে পারেন।

তাহলে আপনি নিম্নলিখিত ধরণের সফ্টওয়্যার দিয়ে এটি সংহত করতে পারেন:

  • PHPUnit
  • পিএইচপি-codesniffer
  • phpdocumentor
  • পিএইচপি জিসিভ
  • PHPXref
  • Yasca
  • প্রভৃতি

আপনি এই হোস্ট করা সিআইও চেষ্টা করতে পারেন: http://www.php-ci.net/hosting/create-project

তবে মনে রাখবেন যে, যদি আপনি সেগুলি নিজেই সংহত করেন তবে সেই সরঞ্জামগুলির কাস্টম সমর্থন প্রয়োজন।

আপনি কি প্রকল্প পরিচালনা এবং প্যাচ পরিচালনা সম্পর্কে চিন্তাভাবনা করেছেন?

আপনি প্রকল্প পরিচালনার জন্য রেডমাইন ব্যবহার করতে পারেন। এটিতে ইন্টিগ্রেটেড অবিচ্ছিন্ন ইন্টিগ্রেশন সমর্থন রয়েছে তবে কেবল ক্লায়েন্ট সাইড হিসাবে (সিআই সার্ভার হিসাবে নয়)।

একটি হোস্ট করা এসভিএন / জিআইটি / ইত্যাদি ব্যবহার করার চেষ্টা করুন। সমাধান, কারণ তারা আপনার ব্যাকআপগুলি কভার করবে এবং তাদের সার্ভারগুলি চলমান রাখবে, যাতে আপনি বিকাশে মনোনিবেশ করতে পারেন।

হাডসন কীভাবে সেটআপ করবেন সে সম্পর্কে টিউটোরিয়ালটির জন্য দেখুন: http://toptopic.wordpress.com/2009/02/26/php-and-hudson/


2
লিঙ্কের জন্য ধন্যবাদ। আমি যে পণ্যগুলির সাথে পরিচিত, আমি যা আশা করি তা হ'ল আপনার সরবরাহকারীর মতো আরও টিউটোরিয়াল-স্টাইলে ওয়াকথ্রুগুলি।
পেক্কা

হাই, অক্টোবর ২০১২ পর্যন্ত, php-ci.net ডাউন বা ইতিমধ্যে পরিষেবা থেকে টানছে? আমি এই ঠিকানার সাথে সংযুক্ত বলে মনে করতে পারি না, বা বিগত বছর থেকে আমি নতুন তথ্য খুঁজে পাই না।
রায়ান

@ রায়ান, আমি কী জানি না আমি জানি, আপনি অন্যদের চেষ্টা করতে পারেন যে। হতে পারে আপনি চেষ্টা করতে পারেন: সার্কেলসিআই বা আপনি এই বিষয়টি পরীক্ষা করতে পারেন: পিএইচপি-র জন্য হোস্টেড ক্রমাগত একীকরণ?
মিচিয়েল

@ রায়ান, না এটি নিচে নেই, আমি এটি কিছুক্ষণের জন্য ব্যবহার করে আসছি। তারা phptesting.org
ওমরাখুর

6

আমি আমার প্রধান পিএইচপি প্রকল্পের জন্য (তাদের অন্যান্য পণ্য যেমন ফিশিয়ে (রিপোজিটরি ব্রাউজিং), জিরা (ইস্যু ট্র্যাকার) এবং ক্লোভার (কোড কভারেজ) এর জন্য আটলাসিয়ান বাঁশের কন্টিনিউজ ইন্টিগ্রেশন সার্ভার ব্যবহার করি ।

এটি এসভিএন সমর্থন করে এবং এখন গিটকে সমর্থন করে এবং এতে দুর্দান্ত ইউজার ইন্টারফেস রয়েছে। এটি লিনাক্স, উইন্ডোজ এবং ম্যাকের জন্য উপলব্ধ এবং এটি নিজস্ব টমক্যাট সার্ভারে একক চালাতে পারে যা মানুষের জন্য দুর্দান্ত (আমার মতো) যারা তাদের সরঞ্জামগুলি সেটআপ করতে দিন নিতে পছন্দ করেন না)। যদিও এটি ব্যয়বহুল মনে হতে পারে, নিজেকে একাকী বিকাশকারী হয়ে আমি স্টার্টার কিট লাইসেন্স 10 $ (সফ্টওয়্যার দ্বারা 10 10) এর জন্য কিনেছিলাম। এটি ছোট দলগুলির জন্য দুর্দান্ত এবং এটি দেখতে মূল্যবান।


পিচিং সমর্থন করতে আপনি বাঁশকে কীভাবে কনফিগার করতে পারেন? আমি বর্তমানে পিঁপড়া ব্যবহার করছি, তবে পিএইচপি ডিপোমেকচারের জন্য phing ব্যবহার করা আরও বেশি or ধন্যবাদ
ভিনসেন্ট

5

পিএইচপি টেস্টিং পিএইচপিসিআই এটি পিএইচপি মধ্যে বিল্ট, অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভার।

প্লাস, এটির নিখরচায় ও মুক্ত উত্স। :)

এটিতে প্লাগিনের সংখ্যা রয়েছে ..

পিএইচপিসিআই এর জন্য ইন্টিগ্রেশন প্লাগইন অন্তর্ভুক্ত:

  • Atoum
  • বেহাত
  • ক্যাম্প ফায়ার
  • Codeception
  • সুরকার
  • ইমেইল
  • ঘোঁৎ ঘোঁৎ
  • আইআরসি
  • পিএইচপি
  • তিসি
  • মাইএসকিউএল
  • PDepend
  • পোস্টগ্রি
  • পিএইচপি কোড স্নিফার
  • পিএইচপি অনুলিপি / সনাক্তকারী সনাক্ত করুন
  • পিএইচপি স্পেক
  • পিএইচপি ইউনিট
  • শেল কমান্ড
  • তার / জিপ

যদিও আমি পিএইচপিসিআই পছন্দ করি আমি এটির প্রস্তাব দিই না। এটি অবিশ্বাস্যভাবে বগি এবং অবিশ্বাস্য। এটি দুঃখজনক যে সাধারণ প্রাথমিক কার্যকারিতাটি যথাযথভাবে ইউনিট পরীক্ষিত হয় না তাই কোনও প্রকল্পের ইউআরএল যুক্ত করার মতো বুনিয়াদ ব্যতীত জটিল is
টেক

@ দেখুন পিএইচপি-র জন্য আপনার সিআই কৌশল কী?
ওমরাখুর

1
@ ওমরখুর দুর্ভাগ্যক্রমে আমি পিএইচপিসিআই-এর সাথে আটকে আছি। অন্যান্য সমস্ত সফ্টওয়্যার অনেক বেশি বিশাল এবং সেট আপ করতে অনেক বেশি লাগে। সবকিছুরই এর পক্ষে মতামত রয়েছে। আপনার পক্ষে সবচেয়ে ভাল কাজ করে আপনার সাথে কেবল তার সাথে যেতে হবে।
টেক

3

আমি বেশিরভাগই একজন সিস্ট অ্যাডমিন তবে মাঝে মাঝে আমি পিএইচপি কোডও করি। পার্শ্ব প্রকল্প হিসাবে আমি এমন কিছু স্ক্রিপ্ট তৈরি করেছি যা জেনকিন্স ব্যবহার করে একটি সম্পূর্ণ প্রস্ফুটিত পিএইচপি সিআই পরিবেশ স্থাপন করা সহজ এবং বেদনাদায়ক করে তুলবে। এটি আপনার জন্য একটি নমুনা প্রকল্পও চালায় যাতে আপনি প্রতিটি বিল্ড স্টেপ কনফিগার করা দেখতে পারেন।

আপনি যদি এটি চেষ্টা করে দেখতে চান তবে আপনার প্রয়োজন সমস্ত একটি হ'ল ডেবিয়ান / উবুন্টু বাক্স এবং শেল অ্যাক্সেস।

http://yauh.de/articles/379/setting-up-a-ci-environment-for-php-projects-using-jenkins-ci

আপডেট আমার উত্তরে কিছু সামগ্রী যুক্ত করতে:

আপনি কেবল উত্তরযোগ্য ব্যবহার করে পিএইচপি জন্য জেনকিনস সিআই সেট আপ করতে পারেন। যেহেতু v1.4 এটি এমন ভূমিকার জন্য সমর্থন করে যা আপনি তাদের গ্যালাক্সি.আনসিবলওয়ার্কস.কম সম্প্রদায় সাইট থেকে ডাউনলোড করতে পারেন এবং এটি আপনার পক্ষে ভারী উত্তোলন করবে। একে বলা হয় জেনকিনস-পিএইচপি


3

আমি জেনকিনস http://jenkins-ci.org/ ব্যবহার করার পরামর্শ দিচ্ছি এটি নিখরচায় এবং এটি ওপেন সোর্স।

এটি সেটআপের জন্য বেশ সোজা এগিয়ে রয়েছে, একাধিক প্ল্যাটফর্মগুলিতে কাজ করে এবং অটোমেশনের পরীক্ষার জন্য প্রযুক্তিগত debtণ এবং থুকাইডাইডগুলি পরিমাপের জন্য সোনারক्यूब (+ এসকিএএল) এর মতো অন্যান্য ক্রমাগত ইন্টিগ্রেশন সরঞ্জামগুলির সাথে ভালভাবে সংহত করে।

আমি এসভিএন এর পরিবর্তে সংস্করণ নিয়ন্ত্রণের জন্য জিআইটি বা জিআইটি হাবটি ব্যবহারের পরামর্শ দেব। আমার দৃষ্টিকোণ থেকে এটি কেবলমাত্র একটি উন্নত সংস্করণ নিয়ন্ত্রণ ব্যবস্থা যা আপনাকে পরে আপনার উন্নয়নের প্রচেষ্টা স্কেল করতে সহায়তা করবে।

যেহেতু আপনি বেশিরভাগ পিএইচপি প্রকল্পের সাথে কাজ করছেন আপনি ব্যবহার করতে পারেন এমন আরও কিছু সরঞ্জাম রয়েছে।

পিএইচপিউনিট - ইউনিট পরীক্ষার জন্য

পিএইচপি কোডস্নিফার - কোডিং মানগুলির জন্য পরীক্ষা করুন

পিএইচপি নির্ভর করে - আপনার পিএইচপি কোড নির্ভরতা দেখায়

এক্সডিবিউজি - পারফরম্যান্স পরীক্ষার জন্য

এই সমস্ত সরঞ্জাম এবং একটি জেনকিন্স কাজের সাথে ট্রিগার করা হবে এবং আপনার কোডের গুণমান এবং কার্য সম্পাদনে সহায়তা করবে।

শুভকামনা এবং উপভোগ করুন!


3

আপনি ব্যবহার করেন এমন অনেকগুলি পণ্য, এমনকি এমন ধরণের পণ্য আমি ব্যবহার করি না, তবে আমি আপনাকে আমার অভিজ্ঞতা দেব।

আমি আমার প্রোড পরিবেশের সাথে সমান্তরালভাবে একটি টেস্ট পরিবেশ পরিচালনা করি। আমার প্রতি স্থানীয় কোন পরীক্ষা নেই testing যদি সত্য টেস্ট পরিবেশে সাদামাটা কিছু পাওয়া শক্ত হয় তবে আমি আমার বিল্ড প্রক্রিয়াটি ঠিক করি fix পরিবেশটি ভিন্ন হওয়ায় স্থানীয়ভাবে পরীক্ষার বিষয়টি আমি দেখতে পাই না। আপডেট: আমি কিছু আপলোড করার আগে স্থানীয়ভাবে কেবলমাত্র "php -l" চালানো হয়। বোকা ভুল থামায়।

বিল্ড প্রক্রিয়াটি বর্তমান ওয়ার্কস্পেসে যা কিছু রয়েছে তার সাথে কাজ করে, যার মধ্যে অনির্দিষ্ট কোড রয়েছে। এটি সবার চায়ের কাপ নয়, তবে আমি খুব প্রায়ই টেস্টে যাচ্ছি। পিআরডিতে যাওয়ার আগে সমস্ত কিছু প্রতিশ্রুতিবদ্ধ হয়।

আমার বিল্ড প্রক্রিয়াটির অংশ (আপনার অনুরূপ) দুটি মেটা ফাইল তৈরি করে। একটিতে সর্বশেষ (সাধারণত) 100 টি পরিবর্তন থাকে এবং তা আমাকে বর্তমান পরিবর্তন তালিকাটি দেয়। কী পরিবর্তনগুলি ইনস্টল করা হয়েছে তা আমাকে দেখায়। অন্যটিতে ক্লায়েন্টস্পেক রয়েছে (পারফোর্সের পদে) যা আমাকে এই বিল্ডে ঠিক কী শাখা ব্যবহার করা হয়েছিল তা দেখায়। একসাথে এগুলি আমাকে পুনরুত্পাদনযোগ্য বিল্ড দেয়।

আমি সরাসরি পরিবেশের পরিবেশে তৈরি করি না, তবে সার্ভারের একটি মঞ্চস্থ করতে পারি। আমি এসএসএইচ ব্যবহার করি যাতে এটি বোঝা যায়। এটি আমাকে কয়েকটি সুবিধা দেয়। সবচেয়ে বড় কথা এটি একটি বড় আপলোডের মধ্য দিয়ে অর্ধেক পথ মারা যাওয়া এড়ায়। এটি আমাকে মেটা ফাইলগুলি সঞ্চয় করার জন্য একটি জায়গাও দেয় এবং সমস্ত বিল্ড ফাইল স্বয়ংক্রিয়ভাবে সংরক্ষণাগারভুক্ত হয় (যাতে আমি সরাসরি কোনও বিল্ডে ফিরে যেতে পারি)। স্ক্রিপ্টটি আপডেটটিও লগ করে (সুতরাং লগ স্ট্রিমে একটি এন্ট্রি রয়েছে এবং আমি প্রাক এবং পোস্ট দেখতে পাচ্ছি) এবং সমস্ত ডিমনকে কিক্স করে (আমি "এসভিসি-টি" হিসাবে ডিমনটোল ব্যবহার করি)। এগুলি সব লক্ষ্য মেশিনে ভাল।

আর একটি ইস্যু হ'ল ডিবি পরিবর্তন। আমি ডিবি স্কিমার একটি মাস্টার স্ক্রিপ্ট রাখি, যা আমি প্রতিবার স্কিমা পরিবর্তিত হয়ে আপডেট করি। প্রতিটি পরিবর্তনগুলি পরিবর্তনগুলিও চলে যায় q এসকিএল স্ক্রিপ্ট, যা মঞ্চ অঞ্চলে বিল্ড সহ আপলোড করা হয়। স্ক্রিপ্টটি ইনস্টল স্ক্রিপ্টের অংশ হিসাবে চালিত হয়।


ফিল আপনার ইনপুট জন্য ধন্যবাদ, এটি একটি খুব, খুব আকর্ষণীয় সেটআপ এবং আমি মনে করি আমি এর কিছু অংশ ব্যবহার করতে পারি। আমার ক্ষেত্রে যাইহোক, আমার প্রায়শই রিমোট প্রান্তে এসএসএইচ অ্যাক্সেস থাকবে না, তাই স্থানীয়ভাবে আমার অনেক "বুদ্ধি" প্রয়োজন, যার কারণেই আমি মনে করি যে আমি হডসনের মতো সিআই পণ্য চাইব।
পেক্কা 20

2

আমি সম্প্রতি প্রক্রিয়া একই ধরনের শুরু করেছি, এবং ব্যবহার করছি Beanstalk SVN হোস্টিং জন্য।

পরিশোধিত অ্যাকাউন্টগুলিতে দুটি নিফটি বৈশিষ্ট্য রয়েছে (আমার মনে হয় 15 ডলার থেকে শুরু করুন):

  • স্থাপনা ব্যবহারকারীকে মঞ্চায়ন ও উত্পাদন সার্ভারের জন্য এফটিপি লক্ষ্যমাত্রা তৈরি করতে দেয়, যা একটি বোতামের ক্লিকে স্থাপন করা যেতে পারে (একটি সংশোধন এবং শাখা উল্লেখ করে)
  • ওয়েবহুকগুলি ব্যবহারকারীকে একটি ইউআরএল সেট আপ করার অনুমতি দেয় যা প্রতিটি প্রতিশ্রুতিবদ্ধ / মোতায়েন করার জন্য ডাকা হয়, পুনর্বিবেচনা নম্বর, বিবরণ এবং ব্যবহারকারীর মতো জিনিসগুলি পেরিয়ে যায়। এটি ডক্স আপডেট করতে, ইউনিট পরীক্ষা চালাতে এবং চেঞ্জলগগুলি আপডেট করতে ব্যবহৃত হতে পারে।

আমি নিশ্চিত যে এই দুটি বৈশিষ্ট্যের সাথে অন্য হোস্ট বা স্ব-হোস্টিং এসএনএন সার্ভার রয়েছে, তবে বিনস্টালকই আমার অভিজ্ঞতা আছে এবং এটি খুব ভালভাবে কাজ করছে

এমন একটি এপিআই রয়েছে যা আমি ধারণা করি আপনার প্রক্রিয়াতে আরও মোতায়েনের সংহত করতে ব্যবহৃত হতে পারে।


চিয়ার্স @ অ্যাডাম। আমি এর জন্য হোস্টেড পরিষেবাদির পক্ষে তেমন কিছু খুঁজছি না, কারণ আমি আশঙ্কা করি যে তারা আমার প্রয়োজনের জন্য সর্বদা সীমাবদ্ধ থাকবে। তবে আপনি যা বলছেন তা আকর্ষণীয় বলে মনে হচ্ছে, এবং এপিআই বাকী অংশগুলির জন্য একটি সংযোগ স্থাপন হতে পারে। আমি এই একবার দেখে নেব।
পেক্কা

কোনও উদ্বেগ নেই, ভেবেছি আপনি এটি বলতে পারেন। এটি এখনই আমার পক্ষে উপযুক্ত, কারণ আমি আমার মাথাটা বেশ ভাল করে পাইনি (এবং আমি একজন লোকের দল), তবুও তারা স্থানান্তর করতে চাইলে তারা একটি সম্পূর্ণ রেপো রফতানি সরবরাহ করে।
অ্যাডাম হপকিনসন

2

Fazend.com বিবেচনা করুন , একটি বিনামূল্যে হোস্ট করা সিআই প্ল্যাটফর্ম, যা কনফিগারেশন এবং ইনস্টলেশন প্রক্রিয়া স্বয়ংক্রিয় করে তোলে । আপনার সংস্করণ নিয়ন্ত্রণ, বাগ ট্র্যাকিং, সিআই সার্ভার, পরীক্ষার পরিবেশ ইত্যাদি সেটআপ করার দরকার নেই সবকিছু অন-চাহিদা অনুসারে সম্পন্ন হয়।


মম, এটি দেখতে খুব আকর্ষণীয়! তবে তারা কীভাবে বেঁচে থাকবে? সবকিছু নিখরচায় দেখছেন? তারা সার্ভারের জন্য এবং E3 ফি কীভাবে প্রদান করবে?
পেক্কা

@ পেপকা এই প্রকল্পটি একটি সফ্টওয়্যার বিকাশকারী সংস্থা স্পনসর করেছে, এজন্য পরিষেবাটি নিখরচায় রয়েছে
yegor256
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.