আমি কীল ইউভিশন 4 (MDK-ARM), বিল্ড স্ক্রিপ্ট, একটি মেকফিল ব্যবহার করে একটি বিল্ড সার্ভার কীভাবে ব্যবহার করতে পারি?


13

আমি দৈনিক বিল্ডগুলি চালনা করতে চাই বা কেইল এমডিকে-এআরএম ভিত্তিক প্রকল্পগুলির চেক ইন / কমিট ট্রিগারযুক্ত বিল্ডগুলি চালাতে চাই। এখন পর্যন্ত আমি আইডিই এর ব্যাচ ফাইল বৈশিষ্ট্য নিয়ে জিনিস পেয়েছি। এর জন্য আপনাকে আইডিই দিয়ে কমপক্ষে একবার প্রকল্পটি তৈরি করতে হবে, তারপরে ব্যাচ ফাইল এবং সম্পর্কিত .__iএবং ._iaআইডিই দ্বারা নির্মিত ফাইলগুলি চেক ইন করুন ।

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

শেষ পর্যন্ত, কেবলমাত্র আর্মসিসি , আর্মসাম এবং আর্মলিংকের জন্য বিভিন্ন স্যুইচগুলির ট্র্যাক রাখা দরকার

কেইল ইউভিশন প্রকল্পগুলি তৈরি করতে আরও মানসম্পন্ন মেকফিল ব্যবহার করার কোনও উপায় আছে কি? ইউভিশন প্রকল্প ফাইলটিকে আরও রক্ষণাবেক্ষণযোগ্য বিল্ড স্ক্রিপ্টে অনুবাদ করার কোনও পদ্ধতি আছে?


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

আমি কোনও প্যাথ নির্ভরতা ছাড়াই ব্যাচ স্ক্রিপ্টের মাধ্যমে কেইল প্রকল্পগুলি তৈরি করি (নিজেরা কেইল সরঞ্জামগুলি ব্যতীত) বা __i / _ia ফাইলগুলি। আপনি কি এই সম্পর্কে আরও কোনও তথ্য ভাগ করতে পারেন?
দিঘিকাটা

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

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

1
@ কেভিনভাইয়ার - হ্যাঁ, আমি নিজেও একই কথা বলছিলাম। rmaVT, আপনি ব্রাউজিং পাওয়া যেতে পারে ট্যাগ "keil" তাই প্রশ্ন ঠিক যেমন শিক্ষা হিসাবে বাঁধা প্রশ্ন ই ই দঃপূঃ এ "keil"
ডেভিড্যাকারি

উত্তর:


8

আমি সম্প্রতি নিয়ে এলাম এটি সেরা পদ্ধতি:

বিল্ড অপশনগুলিতে, ব্যাচ ফাইল তৈরি নির্বাচন করুন।

আপনি যখন আইডিই থেকে বিল্ড শুরু করেন, আইডিইতে সেট করা বিকল্পগুলির উপর ভিত্তি করে বেশ কয়েকটি পাঠ্য ফাইল সহ একটি ব্যাচ ফাইল তৈরি করা হয়। উত্স নিয়ন্ত্রণে আপনাকে এই আইডিই উত্পন্ন ফাইলগুলি ট্র্যাক করতে হবে:

  • * .bat
  • * .ini
  • * .__ আমি
  • *._আমি একটি
  • * .lnp
  • * .sct

তারপরে foo.bat একটি বিল্ড স্ক্রিপ্ট থেকে চালু করা যেতে পারে।

এটি উত্পন্ন ব্যাচ ফাইল থেকে নির্ভরযোগ্যভাবে তৈরি করতে চাইলে উত্স নিয়ন্ত্রণে ট্র্যাক করা দরকার এমন অতিরিক্ত ফাইল তৈরি করে, এটি কেইল প্রকল্প ফাইল (foo.uvproj) এবং IDE এর উপর নির্ভর করার প্রয়োজন সরিয়ে দেয়। পার্থক্যটি তুলনা করা আমার পক্ষে সহজ এবং এইভাবে উত্পন্ন পাঠ্য ফাইলগুলিতে পরিবর্তনগুলি ট্র্যাক করা (* .__ i) যা .uvproj ফাইলের চেয়ে সংকলক পতাকা ধারণ করে। অতিরিক্তভাবে, ব্যাচ ফাইলটি সরাসরি বিভিন্ন সরঞ্জাম, আর্মসাম, আর্মসিসি, আর্মলিঙ্ককে কল করে। এটি আপনাকে সেই প্রতিটি পদক্ষেপের প্রত্যক্ষ আউটপুট প্রদান করার পাশাপাশি ভবিষ্যতে প্রয়োজনে যদি কোনও প্রকল্পকে অন্য সরঞ্জাম চেইনে স্থানান্তরিত করার জন্য একটি আপাতদৃষ্টিতে আরও ভাল সম্ভাবনা দেয়।

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

সম্পাদনা : বিল্ড সার্ভারটি উইন্ডোজ সার্ভার 2003-এ চালিত হয় I আমি অবশ্যই স্বীকার করতে পারি যে আমি ব্যাচ ফাইলের পরিবর্তে আইডিই কমান্ড লাইন ইন্টারফেসটি ব্যবহার করে দেখেছি। এটি পরিচালনা করা খুব কঠিন হয়ে পড়েছে।


এই কাজ সম্পর্কে একটি প্রশ্ন - আপনার বিল্ড সার্ভারটি কোন অপারেটিং সিস্টেমটি চলছে? লিনাক্স, উইন্ডোজ 7, ​​উইন্ডোজ সার্ভার 2003, উইন্ডোজ সার্ভার 2008?
ক্রিমসনএক্স

প্রশ্নের উত্তর দেওয়ার জন্য ধন্যবাদ! দেখে মনে হচ্ছে আয়েল টুলচেনটি উইন্ডোজ সার্ভার 2003 এবং 2008 আর 2 এর প্রতি কেইলের ডকুমেন্টেশনে কাজ করে । আপনার সম্পাদনা সম্পর্কিত একটি ফলোআপ প্রশ্ন: আপনি কীভাবে uvproj ফাইলের পরিবর্তনগুলি পরিচালনা করবেন (উদাহরণস্বরূপ সংকলনের জন্য প্রকল্পে একটি নতুন ফাইল যুক্ত করা)? আপনার কি বিল্ড সার্ভারে প্রচারিত কোনও ফাইলের ম্যানুয়ালি সংকলন বিকল্পগুলি পরিবর্তন করতে হবে?
ক্রিমসনএক্স

আপনাকে .uvproj ফাইলটি উত্স নিয়ন্ত্রণে রাখতে হবে। এটি বেশ ভালভাবে কাজ করে, যদিও কিছু ব্যবহারকারীর পছন্দগুলি .userxxxxx ফাইল সত্ত্বেও ফাইলটিতে এখনও বাকী রয়েছে। বিল্ড সার্ভারকে কেবল একই "প্রকল্প" খুলতে হবে এবং এটি তৈরি করতে হবে।
rmaVT

3

আমি একটি মেকফিলের মধ্যে থেকে (জেনারেটেড ব্যাচ ফাইল নয়) কমান্ড লাইনের মাধ্যমে কিল আইডিই কল করি। সাধারণত স্কেমের মাধ্যমে প্রকল্পের ফাইলগুলি লক করে রাখা বা প্রাসঙ্গিক প্রকল্পের নামগুলির পরিবর্তে এটি করার সময় একটি রেফারেন্স বিল্ড কপি নেওয়া আরও ভাল কাজ করে।

কেবলমাত্র পঠনযোগ্য প্রকল্পের ফাইলগুলির সাথে কাজ করে IDE পুরোপুরি খুশি, সুতরাং আপনি যদি এগুলি লক করে রাখেন তবে বিরক্তিকর হ'ল আপনার সেটিংস পরিবর্তন করতে, সংরক্ষণ করতে এবং এগুলিতে আবার চেক করতে তাদের আনলক করা দরকার If আপনি যদি মোটামুটি স্থিতিশীল থাকেন তবে প্রকল্পের পয়েন্টটি এটি বেশ গৌণ - এমনকি আকাঙ্ক্ষিত।

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

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

কমান্ড-লাইন বিল্ডটি __i, __ia ফাইলগুলিও জেনারেট করে যাতে তাদের বিল্ড সার্ভারের জন্য সংস্করণ নিয়ন্ত্রণে যাওয়ার দরকার হয় না।

আশাকরি এটা সাহায্য করবে.

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