ড্রশ মেক দিয়ে কোনও সাইট কীভাবে কার্যকরভাবে পরিচালনা করবেন?


উত্তর:


28

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

; API
api = 2

; Core
core = 7.x
projects[drupal][version] = 7.14

; Contrib modules
projects[date][version] = 2.0-alpha4
projects[email][version] = 1.0

; Media and file_entity go hand in hand - please make sure they work together.
projects[media][version] = 2.0-unstable5
projects[file_entity][version] = 2.0-unstable5

; Cron modules
projects[ultimate_cron][version] = 1.6
projects[background_process][version] = 1.12

; Performance modules
projects[expire][version] = 1.0-alpha2
projects[cache_actions][version] = 2.0-alpha3

; Unstable modules
projects[menu_node_views][type] = module
projects[menu_node_views][download][type] = git
projects[menu_node_views][download][url] = http://git.drupal.org/project/menu_node_views.git
projects[menu_node_views][download][revision] = f46dd41eb8c4e693a6642a6c461afa57d99a6f1b

projects[filefield_sources_plupload][type] = module
projects[filefield_sources_plupload][download][type] = git
projects[filefield_sources_plupload][download][url] = http://git.drupal.org/project/filefield_sources_plupload.git
projects[filefield_sources_plupload][download][revision] = da374770b80fcbc0dab17158d38c8436ef29caca

projects[menu_token][type] = module
projects[menu_token][download][type] = git
projects[menu_token][download][url] = http://git.drupal.org/project/menu_token.git
projects[menu_token][download][revision] = 8c18fbb

; Libraries
libraries[mediaelement][download][type] = "file"
libraries[mediaelement][download][url] = "https://github.com/johndyer/mediaelement/zipball/2.7.0"

; Patches

; #1491150: node_load in menu_node_menu_link_insert is not safe - http://drupal.org/node/1491150
projects[menu_node][patch][] = http://drupal.org/files/menu_node-node_load-in-menu_node_menu_link_insert-1491150-1.patch

; Fix rendering of relation endpoints
projects[relation][patch][] = http://drupal.org/files/relation_table_endpoints_break.patch
projects[relation][patch][] = http://drupal.org/files/relation_bundle_permissions.patch

libraries[jquery-json-min][download][type] = "file"
libraries[jquery-json-min][download][url] = "http://jquery-json.googlecode.com/files/jquery.json-2.3.min.js"
libraries[jquery-json-min][download][sha1] = "2a4615b93c65dd50f92117c570121035a0327fee"
libraries[jquery-json-min][destination] = "libraries/jquery-json"

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

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

মডিউল আপডেটগুলি সরাসরি টেস্টিংয়ের জন্য সাইটে সরাসরি করা যেতে পারে তবে আনুষ্ঠানিকভাবে মেক ফাইলটি আপডেট করে এবং সাইটটি পুনর্নির্মাণ করে।

আমার দল বর্তমানে বিল্ড-স্ক্রিপ্টগুলির এই সেটটি ব্যবহার করে । আমি কার্যকারিতাটির বেশিরভাগ অংশটিকে ড্রাশ এক্সটেনশনে স্থানান্তরিত করার দিকে কাজ করছি যা যদিও প্রভিশনকে ভারীভাবে ব্যবহার করবে। আপনি চাইলে এজির একটি সিএলআই সংস্করণ।


1
জিনিয়াস। এটি লিখতে সময় দেওয়ার জন্য এটি খুব সহায়ক
ক্লাইভ

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

1
ড্রশ মেক দিয়ে ঘুরে বেড়ানো। আমি সেখানে স্থির সংস্করণ নম্বর রাখার কারণটি পুরোপুরি বুঝতে পারি। তবে আপনি কীভাবে এগুলি আপডেট করবেন? ড্রাশ আপের জন্য কি কোনও ড্রশ মেক সমতুল্য রয়েছে? এক পর্যায়ে, আপনার সংস্করণগুলি সর্বশেষতম সংস্করণে আপডেট করা দরকার (বিশেষত সুরক্ষা আপডেট)। কয়েক ডজন মডিউল দিয়ে ম্যানুয়ালি এটি করা ক্লান্তিকর বলে মনে হচ্ছে ...
বারডির

1
মুআর প্রশ্নগুলি: আপনার কাছে একটি .gitignore ফাইল আছে বা কীভাবে আপনি "মেকড" ফাইলগুলি করা এড়বেন? যদি হ্যাঁ, এটি দেখতে কেমন? ওয়াইল্ডকার্ড দিয়ে অভিনব কিছু করার চেষ্টা করেছিল এবং! কিন্তু এটি ডিরেক্টরিতে কাজ করে না।
বারদির

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