ড্রশ এবং ফিিং কি অপ্রয়োজনীয়?


24

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

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

আমি কীভাবে ফিং ব্যবহার করতে পারি তা শেখার জন্য সময় বিনিয়োগ করা আমার পক্ষে বোধগম্য কিনা তা আমি সিদ্ধান্ত নেওয়ার চেষ্টা করছি। আমি শেল স্ক্রিপ্টের মাধ্যমে Phing বনাম ড্রাশ কমান্ডগুলি অন্তর্ভুক্ত করে আমি কী উপকৃত হব সে সম্পর্কে আমি কিছুটা স্পষ্টতার সন্ধান করছি।

সুতরাং আমার প্রশ্নটি যারা ড্রিং এবং জেনকিন্সের সাথে ফিং ব্যবহার করেন তাদের পক্ষে: ড্রশ / ড্রশ-মেক এবং ফিং কীভাবে আলাদা? আপনি কেন আপনার প্রক্রিয়াতে Phing ব্যবহার শুরু করার সিদ্ধান্ত নিয়েছিলেন?

ধন্যবাদ

উত্তর:


15

উত্তরটি হ'ল তারা অবশ্যই অতিরিক্ত কাজ নয়।

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

Phing এর সাহায্যে আমরা বিল্ড প্রক্রিয়াটি পৃথক বিভাগে বিভক্ত করতে পারি যা জেনকিন্সকে বুদ্ধিমান উপায়ে রিপোর্ট করতে পারে।

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

drush --quiet --yes @staging en node shouldfail

স্পষ্টতই এটি ঠিক নয়। তবে পরিবর্তে যদি আমরা একই প্রক্রিয়াটি সংজ্ঞায়িত করতে পিপড়া বা ফিং ব্যবহার করি, তবে আমরা জেনকিন্স বুঝতে পারে এমন কিছু ব্যর্থ যুক্তি যুক্ত করতে পারি, এবং তাই এটি যেমন করা উচিত তেমনি ব্যর্থ হয়। নিম্নলিখিত ফিং বিল্ড স্ক্রিপ্টটি পূর্ববর্তী কমান্ডের মতো একই কাজ করার চেষ্টা করে, তবে আমরা এটি প্রত্যাশা করে ব্যর্থ হই:

<project name="staging" default="enable modules" description="Jenkins Staging Build">

    <target name="enable modules">
      <exec  command="drush --quiet --yes @staging en node shouldfail" error='error' checkreturn="true">
      </exec>
      <loadfile  property="en.error" file="error" />
      <if>
        <contains string="${en.error}" substring="warning" />
        <then>
          <property name="en.fail" value="Could not enable all modules" />
        </then>
      </if>
      <fail if="en.fail" message="${en.fail}" />
    </target>

</project>

বিটিডাব্লু পিঁপড়া এবং ফিং প্রায় একই রকম। Phing ব্যবহারে পিএইচপি বিকাশকারীদের সুবিধা হ'ল তারা আরও স্বাচ্ছন্দ্যে Phing প্রসারিত করতে পারেন।

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

ঠিক আছে, আমার প্রশ্নের উত্তর দেওয়ার জন্য আমি ফিং বের করার জন্য সময় বিনিয়োগ করেছি। এটি আসলে বেশ স্বজ্ঞাত এবং এটি বের করতে খুব বেশি সময় লাগে না।


2

Phing এর জন্য এখন একটি ড্রশ টাস্ক উপলব্ধ রয়েছে :

এক্সিকিউট ব্যবহারের পরিবর্তে আপনি এর মতো ড্রশ কম্যান্ডগুলি অন্তর্ভুক্ত করতে পারেন ...

  <drush command="site-install" assume="yes"">
        <option name="locale">uk</option>
        <option name="site-name" value="${sitename}" />
        <param>expert</param>
  </drush> 

আমি কিছুক্ষণের জন্য ড্রশটাস্ক ব্যবহার করেছি এবং আমি ড্রাশ সতর্কতার সাথে সাফল্যের সাথে যোগাযোগ করতে পারিনি couldn't আমি এটিকে বাদ দিয়েছিলাম কারণ সেই কারণেই এবং আমি এটি অন্য ক্ষেত্রে সীমাবদ্ধ দেখতে পেয়েছি।
ডি কেঞ্জার

ড্রশ টাস্কের সাথে আপনার ইস্যু সারিটিতে সমর্থন বা বৈশিষ্ট্য অনুরোধে আপনি যে বিষয়গুলি / সীমাবদ্ধ করেছিলেন সেগুলি ব্যাখ্যা করার জন্য এটি চমৎকার হবে ( drupal.org/project/issues/phingdrushtask )। অন্যদের খুঁজে পেতে এবং উত্তরগুলি অবদান রাখতে দেওয়া।
পিয়ের বুয়েল

2

ফিনিং স্ক্রিপ্টগুলি শেল স্ক্রিপ্টগুলির প্রতিস্থাপন, একাধিক কমান্ড এবং তার ফলাফলগুলির সম্পাদন নিয়ন্ত্রণ করতে। ড্রুপাল একটি ড্রুপাল সাইটের সাথে ইন্টারঅ্যাক্ট করতে বা দ্রুপালের সাথে সম্পর্কিত কমান্ডের জন্য একটি সিএলআই ইন্টারফেস। তারা একে অপরের পরিপূরক।


1

আপনার প্রশ্ন: ফিলিং এবং ড্রশ কি ওভারল্যাপ করে?

TLDR; সংস্করণ: Sorta। তবে বেশিরভাগই না

আনব্রিডযুক্ত সংস্করণ: ড্রশ এবং ফিং কিছু মাত্র উদাহরণে ওভারল্যাপ করে। মূলত, কোনও ওয়েবসাইট ডাম্পিং এবং সংরক্ষণাগারভুক্ত করা বৃহত্তর ওভারল্যাপগুলির মধ্যে একটি হবে। আপনি এটি phing এ করতে পারেন তবে আপনাকে অনেকগুলি কাজ লিখতে হবে। আপনি একটি ডেটাবেস ডাম্প করতে পারেন তবে ড্রাশ একটি কমান্ডের সাহায্যে এটি এত সহজেই করতে পারে। Phing তা করে তবে আপনাকে কেবল একটি কমান্ড লাইন স্ক্রিপ্ট লিখতে হবে। যেখানে phing shines হ'ল phpunit পরীক্ষা চালানো, আপনার সিএসএস ফাইলগুলি সংকুচিত করে এমন একটি জারের মতো বাহ্যিক সরঞ্জাম চালানো, আপনার ড্রুপাল সাইট / অ্যাপ্লিকেশন ইত্যাদির একটি বিল্ড তৈরি এবং প্যাকেজ করা ইত্যাদি is

ফিং কি?

Phing মূলত পাইলট যা আদেশগুলি কার্যকর করে। আপনি যদি পিঁপড়ার সাথে পরিচিত হন তবে ফিং আসলে পিঁপড়ার কাছাকাছি একটি বন্দর (এটি জাভা ভিত্তিক কাজিন)। পিএইচপি-তে Phing লেখা থাকে।

আপনি কার্যগুলি স্বয়ংক্রিয় করতে ফিনিং ব্যবহার করতে পারেন এবং সেই কার্যগুলির উপর ভিত্তি করে ফলাফলগুলি প্রতিবেদন করতে পারেন। অন্যদিকে ড্রাশ কেবল কার্য সম্পাদন করে। এটি আউটপুট ফলাফলের মূল্যায়ন নির্ধারণ করতে অক্ষম।

Phing / drush জন্য ব্যবহারের ক্ষেত্রে উদাহরণ:

প্রোড scpথেকে টেস্টিং পর্যন্ত প্যাকেজে ডেটাবেস এবং phing ডাম্প করার জন্য আমার ড্রাশ দরকার ।

Phing একটি বাহ্যিক build.propertiesফাইলে এই সেটিংস সঞ্চয় করতে পারে এবং সেগুলি আপনার প্রকল্পে উত্স করে। এটি প্রতিটি পরিবেশের জন্য বিভিন্ন সেটিংসও সঞ্চয় করতে সক্ষম। উদাহরণস্বরূপ, Phing সর্বশেষতম সমাপ্তিকে সিলেলিক করতে পারে যা ড্রেস দ্বারা ডান ডকুমেন্ট রুটে ফেলে দেওয়া হয়েছে।

কিভাবে এই সমস্ত কাজ করে?

Phing একটি এক্সএমএল দ্বারা চালিত হয়। এটি একটি বিল্ড.এক্সএমএল ফাইল গ্রহণ করে এবং বৈশিষ্ট্যগুলিকে গ্রহণ করে (কখনও কখনও লক্ষ্যগুলি বলা হয়) এবং সাধারণ আদেশগুলি কার্যকর করে utes

এ সম্পর্কে আরও:

আমি আপনাকে সর্বাধিক প্রস্তাব দিচ্ছি যে আপনি এই স্লাইডসারে পর্যালোচনা করুন Phing প্রকল্পের নেতাদের দ্বারা:

http://www.slideshare.net/michieltcs/building-and-deploying-php-applications-with-phing

এটি আপনাকে উচ্চ স্তরের এবং কিছু কংক্রিট ব্যবহার (প্লাস কোড) ফিং দেবে। এটি ড্রুপালের সাথে সম্পর্কিত কোনওভাবেই নয় তবে এটি কীভাবে কাজ করে তা আপনাকে আরও ভাল ধারণা দেবে।

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