অবিচ্ছিন্ন বিল্ড সার্ভার (cc.net, হাডসন, বাঁশ, ইত্যাদি…) দূরবর্তী বিল্ড অভিজ্ঞতা?


9

আমরা বর্তমানে আমাদের বিল্ড প্রক্রিয়াটির জন্য একবার cc.net সার্ভার ব্যবহার করি, যা। নেট (এমএসবিল্ড এবং ন্যান্ট ব্যবহার করে) এবং জাভা (ম্যাভেন এবং পিঁপড়া ব্যবহার করে) উভয়ই তৈরি করে।

সিসি.নেট সোর্স কন্ট্রোল পর্যবেক্ষণ করে এবং একটি পৃথক সার্ভারে একটি রিমোট বিল্ড চালিত করে। সিসি.এন.এফ এর পরে ফলাফলগুলিতে সহযোগিতা করে।

আমরা যখন রিমোট বিল্ডটি পরিচালনা করি তখন সাধারণত:

  • উপহাসিত ডেটা ব্যবহার করে নুনিট বা জুনিট বা অনুরূপ চালায়
  • নতুনভাবে ডাটাবেস ইনস্ট্যান্স তৈরি করতে বা একটি পরিচিত অবস্থান থেকে একটি ডাটাবেস পুনরুদ্ধার করতে allyচ্ছিকভাবে একটি ডিবি স্ক্রিপ্ট চালায়।
  • সেলেনিয়াম বা পরীক্ষা UI এর অনুরূপ চালায়
  • কোড কভারেজের জন্য এমা বা এনকোভার চালায়
  • বিভিন্ন স্থাপনার পরিবেশের জন্য সিস্টেম তৈরি করে (পরীক্ষা, গ্রহণযোগ্যতা, উত্পাদন)

আমাদের একসাথে বেশ কয়েকটি বিল্ড চলতে পারে, কিছু। নেট এবং কিছু জাভা (বিভিন্ন প্রকল্প দল থেকে)।

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

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

উত্তর:


8

হাডসন (আপডেট: আজকের বিশ্বে আমি জেনকিনস, হডসনের একটি কাঁটাচামড়া ব্যবহার করব)

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

এছাড়াও, আপনি আপনাকে থাম্বগুলি উপরে বা নীচে দিতে চকনরিস প্লাগইনটি ব্যবহার করতে পারেন ।


1
আপনি যদি বহিরাগত কিছু না করে থাকেন তবে হাডসন একটি ভাল পছন্দ, তবে দিনের শেষে আপনি যদি একটি ব্যাচের স্ক্রিপ্টে যা করার চেষ্টা করছেন তা করতে না পারলে হডসন এটি খুব ভালভাবে করারও সম্ভাবনা রাখে না।
বিল

হাডসন জেনকিনস এবং ওরাকল হাডসনের সাথে যোগাযোগ স্থাপন করেছে। কোনটি ব্যবহার করবেন তা ভাগ করে নেওয়ার যত্ন?

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

@ থরবজর্ন - আমি টমের সাথে একমত আমি এখন প্রায় এক বছরে হডসনকে ব্যবহার করি নি (বর্তমানে টিএফএস ব্যবহার করি), তবে এটিই আমি শুনেছি যে সাধারণ sensকমত্য হল জেনকিন্স যাওয়ার উপায়। আবার, আমি তাদেরকে কাঁটাযুক্ত হওয়ার পরেও ব্যবহার করিনি, তবে যদি আমি এটি আবারও তুলে ধরতে পারি তবে আমি সম্ভবত জেনকিন্সের পথে যেতে চাই।
রায়ান হেইস

7

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

হাডসন - আমি কী করব এবং এটি সম্পর্কে কোথায় পড়ব তা সম্পর্কে আমার কোনও ধারণা ছিল না। এবং যদিও আমি সেখানে কিছু বুঝতে পারি তবে এটি কোনও বিকল্প ছিল না - খুব বেশি কাজ। আমি সিসিকে একবার দেখে নেওয়ার সিদ্ধান্ত নিয়েছি।

ক্রুজ নিয়ন্ত্রণ - মতোই, তবে কিছুটা ভিন্ন উপায়ে। ম্যানুয়াল এবং গুগল থেকে এক টন সহায়তা ব্যতীত সেখানে কিছুই বোঝা যায় না। আমি স্রেফ টিসির দিকে নজর দিতে গিয়েছিলাম।

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

আমার এটাও লক্ষ্য করা উচিত যে টিসি বিনামূল্যে নয়। যদিও তাদের কাছে একটি মুক্ত সংস্করণ রয়েছে যা বাণিজ্যিক প্রকল্পগুলিতে কিছু সীমাবদ্ধতা (সর্বাধিক বিল্ড কনফিগারেশন 20) ব্যবহার করা যেতে পারে - তাদের মূল্যের পৃষ্ঠাটি একবার দেখুন।

PS টি আমি টিসির হয়ে কাজ করার মতো মনে করি, তবে আমি সত্যিই তা করি না :)


3

আমরা সিসিনেট 1.4 ব্যবহার করি।

আমরা ১. to-এ উন্নীত করার চেষ্টা করছি ... কী স্বপ্ন!

এটি শক্তিশালী ... তবে কেবলমাত্র যদি আপনি এটি সঠিকভাবে ব্যবহার করেন এবং বুঝতে পারেন কীভাবে সমস্ত কিছু একসাথে ফিট করে। যা পুরো দলটির কাছে অনেক জিজ্ঞাসা। আমাদের এমন 'বিল্ডমাস্টার' রয়েছে যাদের সার্ভারে অ্যাক্সেস রয়েছে এবং তারা কনফিগারগুলি পরিবর্তন করতে পারেন। তবুও, সিসনেট সম্পর্কে প্রচুর গুগলিং হচ্ছে এবং পুরো ব্যবসাটি একটি বিশাল গোলমেলে পরিণত হয়েছে।

আমি ব্যক্তিগতভাবে টিমসিটিতে যেতে চাই।

আমি আপনাকে সিসনেট পরিষ্কার সাফাই সুপারিশ।


1

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

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

এখন পর্যন্ত আমাদের অভিজ্ঞতা:

জাভা প্রকল্পগুলির জন্য আমরা বাঁশ ব্যবহার করছি যা JUnit এবং Emma ব্যবহার করে দুর্দান্ত কাজ করে। এবং নতুন প্রকল্প স্থাপনের তেমন প্রচেষ্টা নেই।

নেট প্রকল্পগুলির জন্য আমরা এখনও সেরা সমাধানের সন্ধান করছি

  • ক্রুজ কন্ট্রোল: আমাদের সংগ্রহস্থলের সংযোগের কারণে সমস্যার কারণে আমরা এটি এখনও চলতে পারি নি

  • টিএফএস:

    ক) প্রথম বিল্ডটি কার্যকর করতে সক্ষম হওয়ার জন্য কয়েকটি সেটআপ ধাপ রয়েছে।

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

    গ) রেফারেন্সড লিবসের বিষয়ে আপনি যদি অনেক প্রকল্পের জন্য লিব শেয়ার করতে চান এবং প্রতিটি একক প্রকল্পে সেগুলি পরিচালনা করতে না চান তবে পরিচালনা করার জন্যও কিছু জিনিস রয়েছে reference

    d) NUnit পরীক্ষা চালানো এতটা সহজ নয় যা আমরা ভেবেছিলাম। এটি কেবলমাত্র যদি আপনি ভিজ্যুয়াল স্টুডিও দ্বারা সরবরাহিত পরীক্ষামূলক প্রয়োগ ব্যবহার করে থাকেন তবে এটি সহজ নয় N

    e) আমরা এখনও এনকোভার চালানোর চেষ্টা করিনি (প্রথম জিনিসগুলি প্রথম :-))

  • হাডসন: পরবর্তী সরঞ্জাম আমরা চেষ্টা করব। নেট এর জন্য সত্যিই একটি ভাল এবং সহজ প্লাগইন রয়েছে বলে মনে হচ্ছে, এটি আপনাকে কীভাবে কাজ করেছে তা আমি আপনাকে জানাব

  • বাঁশ: প্রথম অনুমান আমরা পেয়েছি: "খুব জাভা নির্দিষ্ট"। তবে সম্ভবত আমরা .NET প্লাগইন চেষ্টা করব, আমি আপনাকে জানাব

আশা করি, আমরা এই আলোচনা চালিয়ে যেতে পারি এবং অভিজ্ঞতা বিনিময় করতে পারি।

অ্যান্ডি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.