জেনকিনস এএসপি.এনইটি অ্যাপ্লিকেশনগুলি স্বয়ংক্রিয়ভাবে স্থাপন করতে


13

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

সম্পাদনা করুন বর্তমানে অ্যাপ্লিকেশন মোতায়েনের জন্য আমরা ব্যাটার ফাইলগুলি xcopy / কনফিগার অ্যাপ পুল / sql cmd ইত্যাদি ব্যবহার করছি। তবে এটি কাজ করার জন্য, প্রোডাকশন সাপোর্ট টিমের অ্যাপ্লিকেশন মোতায়েনের জন্য উত্স কোডটি ডাউনলোড করা, প্রকল্প তৈরি করা এবং ব্যাট ফাইলগুলি চালানো দরকার।

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

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


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

আমার প্রশ্নটি আপডেট করুন, আমাকে যদি কোনও অতিরিক্ত তথ্য সরবরাহ করার প্রয়োজন হয় তবে দয়া করে আমাকে জানান।
সানি 21

উত্তর:


11

আমরা কী ব্যবহার করছি এবং যেখানে আমরা যাবার পরিকল্পনা করছি সেখানে ভাগ করব, সম্ভবত এটি আপনাকে আরও ভাল ধারণা দিতে সহায়তা করবে।

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

এখন, অবশ্যই এটি পুরোপুরি আদর্শ নয় তবে এটি আমাদের পক্ষে কাজ করে working আমরা ভবিষ্যতে এটি প্রসারিত করতে চাই:

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

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

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

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

4

আমি ইতিমধ্যে নেট অ্যাপস এবং টিএফএস এর জন্য জেনকিন্স ব্যবহার করছি।

  1. আপনার প্রকল্পে প্রয়োজনীয় কনফিগারেশন যুক্ত করুন এবং কোডটি রূপান্তর করুন এবং চেক ইন করুন।
  2. টিএফএস থেকে সর্বশেষতম পান (টিএফএস প্লাগ-ইন ব্যবহার করুন)
  3. প্রকল্পটি তৈরি করুন (এমএসবিল্ড প্লাগ-ইন ব্যবহার করুন)। আপনি কমান্ড লাইন আর্গুমেন্ট ব্যবহার করে এমসবিল্ড থেকে কোড প্রকাশ করতে পারেন।
  4. Msdeploy.exe কমান্ড ("সি: \ প্রোগ্রাম ফাইলগুলিতে (x86) IS আইআইএস \ মাইক্রোসফ্ট ওয়েব ডিপ্লাই ভি 2 \ এমএসডিপ্লোই.এক্সই") ব্যবহার করে প্রকাশের অবস্থান থেকে গন্তব্যে কোড সিঙ্ক করুন)
  5. আপনি ইমেলগুলি প্রেরণ করতে এবং জেনকিন্সের মাধ্যমেও ব্যাকআপ নিতে পারেন।

আপনি ইউনিট পরীক্ষা চালাতে এবং জেনকিন কনসোলে এটি প্রদর্শন করতে বা পরীক্ষার ফলাফল প্রকাশ করতেও MSTest.exe ব্যবহার করতে পারেন।

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