প্রথম জিনিসগুলি, নীচের ধূসর অঞ্চলে মাউসটি ঘোরাও। উত্তরের অংশ নয়, তবে একেবারে বলতে হবে:
আপনার যদি একটি শেল স্ক্রিপ্ট থাকে যা "চেকআউট, বিল্ড, ডিপ্লয় করে" নিজেই করে থাকে, তবে কেন আপনি জেনকিন্স ব্যবহার করছেন? আপনি জেনকিন্সের সমস্ত বৈশিষ্ট্যগুলির পূর্বে যাচ্ছেন যা এটি কী তা তৈরি করে। আপনার পাশাপাশি ক্রোন বা কোনও এসভিএন পোস্ট-কমিট হুক স্ক্রিপ্টটি সরাসরি কল করতে পারে। জেনকিনস নিজেই এসভিএন চেকআউট সম্পাদন করা অত্যন্ত গুরুত্বপূর্ণ। এটি বিল্ডগুলিকে কেবল তখনই পরিবর্তন করতে দেয় যখন পরিবর্তনগুলি (বা টাইমার, বা ম্যানুয়াল অন, আপনি যদি চান) থাকে। এটি বিল্ডগুলির মধ্যে পরিবর্তনের উপর নজর রাখে। এটি সেই পরিবর্তনগুলি দেখায়, যাতে আপনি দেখতে পাচ্ছেন যে কোন সেটটি পরিবর্তনের জন্য সেট ছিল। প্রতিশ্রুতিবদ্ধদের ইমেলগুলি যখন তাদের পরিবর্তনগুলি সফল বা ব্যর্থ বিল্ডের কারণে ঘটে (আবার আপনার পছন্দ মতো কনফিগার করা)। প্রতিশ্রুতিবদ্ধদের যখন তাদের ফিক্সগুলি ব্যর্থতা বিল্ডিং ঠিক করেছে তখন এটি ইমেল করবে। এবং আরও অনেক কিছু। জেনকিনস নিদর্শনগুলি সংরক্ষণাগারও জেনকিন্স থেকে সরাসরি তাদের বিল্ড প্রতি উপলব্ধ করে তোলে। যদিও এসভিএন চেকআউটের মতো গুরুত্বপূর্ণ নয়, এটি আবার জেনকিন্সকে এটির একটি অবিচ্ছেদ্য অঙ্গ। মোতায়েনও একই। আপনার একক পরিবেশ না থাকলে, স্থাপনা সাধারণত একাধিক পরিবেশে ঘটে। প্রচারগুলি ব্যবহারের মাধ্যমে জেনকিন্স কোনও পরিবেশ নির্ধারণ করে (এসভিএন পরিবর্তনের নির্দিষ্ট সেট সহ) কোন পরিবেশ তৈরি করেছে তা ট্র্যাক করতে পারে। আপনি এই সমস্ত পূর্ববর্তী হয়। দেখে মনে হচ্ছে আপনাকে "আপনাকে জেনকিনস ব্যবহার করতে হবে" তবে আপনি সত্যিই চান না, এবং আপনি কেবল আপনার বসকে পিঠ থেকে সরিয়ে দেওয়ার জন্য এটি করছেন, কেবল "হ্যাঁ, আমি জেনকিন্স ব্যবহার করেছি"
সংক্ষিপ্ত উত্তরটি হল: জেনকিনের এক্সিকিউট শেল বিল্ড স্টেপের শেষ কমান্ডের প্রস্থান কোডটিই বিল্ড স্টেপের সাফল্য / ব্যর্থতা নির্ধারণ করে । - সাফল্য, - ব্যর্থতা। দ্রষ্টব্য, এটি পুরো কাজের জন্য নয়, বিল্ড স্টেপের সাফল্য / ব্যর্থতা নির্ধারণ করছে । পুরো কাজ চালানোর সাফল্য / ব্যর্থতা আরও একাধিক বিল্ড পদক্ষেপ এবং পোস্ট-বিল্ড ক্রিয়া এবং প্লাগইনগুলির দ্বারা প্রভাবিত হতে পারে।0
anything else
আপনি উল্লেখ করেছেন Build step 'Execute shell' marked build as failure
, তাই আমরা কেবলমাত্র একক বিল্ড স্টেপে মনোনিবেশ করব। যদি আপনার এক্সিকিউট শেল বিল্ড স্টেপটিতে কেবল একটি একক লাইন থাকে যা আপনার শেল স্ক্রিপ্টকে কল করে তবে আপনার শেল স্ক্রিপ্টের প্রস্থান কোডটি বিল্ড স্টেপের সাফল্য / ব্যর্থতা নির্ধারণ করবে। আপনার শেল স্ক্রিপ্ট কার্যকর হওয়ার পরে যদি আরও লাইন থাকে তবে সাবধানতার সাথে সেগুলি পর্যালোচনা করুন, কারণ এগুলি হ'ল ব্যর্থতার কারণ হতে পারে।
শেষ পর্যন্ত এখানে পড়ুন জেনকিনস বিল্ড স্ক্রিপ্ট গুগল টেস্ট কার্যকর হওয়ার পরে বেরিয়ে আসে । এটি সরাসরি আপনার প্রশ্নের সাথে সম্পর্কিত নয়, তবে শেল স্ক্রিপ্ট হিসাবে জেনকিনস এক্সিকিউট শেল বিল্ড স্টেপ চালু করার বিষয়ে অংশটি নোট করুন note/bin/sh -xe
এর -e
অর্থ হ'ল শেল স্ক্রিপ্ট ব্যর্থতার সাথে প্রস্থান করবে , এমনকি যদি কেবল 1 কমান্ড ব্যর্থ হয়, এমনকি যদি আপনি সেই কমান্ডটি পরীক্ষা করতে ত্রুটি করেন (কারণ স্ক্রিপ্টটি আপনার ত্রুটি পরীক্ষা করার আগে এটি বেরিয়ে যায়)) এটি শেল স্ক্রিপ্টগুলির সাধারণ সম্পাদনের পরিপন্থী, যা সাধারণত ব্যর্থ কমান্ডের জন্য ত্রুটি বার্তাটি মুদ্রণ করে (বা এটিকে পুনঃনির্দেশিত করে এবং এটি অন্য উপায়ে পরিচালনা করে) এবং চালিয়ে যায়।
এটির set +e
জন্য, আপনার শেল স্ক্রিপ্টের শীর্ষে যুক্ত করুন ।
যেহেতু আপনি বলছেন যে আপনার স্ক্রিপ্টটি যা করার কথা তা হ'ল তাই সম্ভাবনা হ'ল স্ক্রিপ্টের শেষে কোথাও ব্যর্থ কমান্ড। চূড়ান্ত প্রতিধ্বনি হতে পারে? বা কোথাও নিদর্শনগুলির অনুলিপি? সম্পূর্ণ কনসোল আউটপুট না দেখে, আমরা কেবল অনুমান করছি।
দয়া করে কাজের রানের কনসোল আউটপুট পোস্ট করুন, এবং সম্ভবত শেল স্ক্রিপ্টটি নিজেই পোস্ট করুন এবং তারপরে আমরা আপনাকে সঠিকভাবে বলতে পারি কোন লাইনটি ব্যর্থ হচ্ছে।