আমি জিনকিন্সকে গীট থেকে টানা কোনও স্ক্রিপ্ট কার্যকর করতে কীভাবে পেতে পারি?


12

আমি জেনকিন্সকে আমদানির কাজগুলির একটি সিরিজ ট্রিগার এবং পরিচালনা করতে ব্যবহার করছি। আমি আমার আমদানি স্ক্রিপ্টটি গিথুবে রাখতে চাই, এবং জেনকিন্স যখন কাজটি তৈরি করে, তখন এটি (ক) গিথুব থেকে সংস্করণ নিয়ন্ত্রিত স্ক্রিপ্টটি টেনে আনবে এবং (খ) স্ক্রিপ্টটি চালানো উচিত।

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

আমি এখন পর্যন্ত যা করেছি তা এখানে:

  1. আমার উইন্ডোজ সার্ভারে জেনকিন্স ইনস্টল করা (স্পষ্টতই) আমার কাছে এর কোনও পছন্দ ছিল না)
  2. আমার গিথুব অ্যাকাউন্টে একটি সংগ্রহশালা তৈরি করে তাতে আমার কোডটি রেখে দিন
    • এটি https://github.com/mcholl/SARS-Import/ এ সর্বজনীন
    • আপনি দেখতে পাবেন আমার কাছে দুটি স্ক্রিপ্ট রয়েছে, রুটস্টেস্ট.পি এবং সর্বনিম্ন-ভিডিও \ টেস্ট.পি py অ্যাপলের পেটেন্টের অধীনে থাকা কোডটি, আমি নিশ্চিত :)
    • ধারণাটি হ'ল আমি রুটেষ্ট.পি চালাতে চাই
  3. গিথুব প্লাগইন ইনস্টল করা হয়েছে
  4. নিম্নলিখিত হিসাবে একটি কাজ তৈরি:
    • প্রকল্পের নাম = "গিথুব একীকরণের পরীক্ষা করা"
    • গিটহাব প্রকল্প: https://github.com/mcholl/SARS-Import.git/
    • একটি উইন্ডোজ ব্যাচ কমান্ড যুক্ত করুন: পাইথন রুটেষ্ট.পি
  5. ম্যানুয়ালি কাজটি কার্যকর করুন

আমি যা পাই তা হ'ল একটি ত্রুটি বার্তা যা ফাইলটি সনাক্ত করা যায় না। এটি আশ্চর্যজনক, কারণ আমি ধারণা করি যে কর্মপ্রবাহটি হবে "উত্সের স্থানীয় কপিটি ... (কাজ) / ওয়ার্কস্পেস / ডিরেক্টরিতে টানতে হবে, তারপরে ওয়ার্কস্পেস ডিরেক্টরিটির প্রসঙ্গে ব্যাচ কমান্ডটি চালান run

এখানে সম্পূর্ণ কনসোল আউটপুট:

ওয়ার্কস্পেস সি-এ ব্যবহারকারী বেনামে বিল্ডিং দ্বারা শুরু: Files প্রোগ্রাম ফাইলগুলি (x86) \ জেনকিনস \ জবস \ গিথুব ইন্টিগ্রেশন \ ওয়ার্কস্পেস [ওয়ার্কস্পেস] $ সেমিডি / সি কল সি: \ উইন্ডোজ \ টেম্প \ হাডসন 1966342425043540895.bat

সি: \ প্রোগ্রাম ফাইল (x86) \ জেনকিনস \ জবস \ গিথুব ইন্টিগ্রেশন টেস্টিং \ ওয়ার্কস্পেস> পাইথন রুটস্টেস্ট.পি পাইথন: ফাইল 'রুটস্টেস্টিপি' খুলতে পারে না: [এর্নো 2] এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই

সি: \ প্রোগ্রাম ফাইল (x86) \ জেনকিনস \ জবস \ পরীক্ষা গিথুব ইন্টিগ্রেশন \ ওয়ার্কস্পেস> প্রস্থান 2 বিল্ড স্টেপ 'উইন্ডোজ ব্যাচ কমান্ড এক্সিকিউট করুন' বিল্ডটি ব্যর্থ হিসাবে চিহ্নিত হয়েছে: ব্যর্থ

অবশ্যই আমি কনসোলে আমার মুদ্রণ বিবরণের ফলাফলগুলি দেখতে আশা করছিলাম।

আমি কী গণ্ডগোল করলাম? এবং কেন আমার স্ক্রিপ্ট ইতিমধ্যে সেখানে নেই?


সি থেকে কোডটি দেখতে দিন: \ উইন্ডোজ \ TEMP \ hudson1966342425043540895.bat আপনি কি গিট পুল ব্যবহার করছেন?

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

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

আপনি কি গিথব প্লাগইন wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin- এর জন্য এই নির্দেশাবলী অনুসরণ করেছিলেন ? আপনি GIT_HOM পরিবেশগত পরিবর্তনশীল ইত্যাদি সেট করেছেন?

ডি আহা! উইন্ডোজ ঘৃণা করার আরও একটি কারণ। আপনাকে ধন্যবাদ - আমি মনে করি এটি সমস্যা হতে পারে
এফএবেবল গেক

উত্তর:


5

আমার বিল্ডের জন্য (লিনাক্স হোস্টে), আমি সদ্য-চেক-আউট ওয়ার্কস্পেসের বাইরে কোনও বিল্ড স্ক্রিপ্ট সম্পাদন করতে (জেনকিন্সে একটি বিল্ড স্টেপ হিসাবে) এর মতো কিছু করি:

শেল কমান্ড কার্যকর করুন:

 sh -x $WORKSPACE/build/myproject.build

আমি ধারণা করি এটি উইন্ডোজে একই রকম কাজ করবে, আপনি অবশ্যই / এর চেয়ে বেশি ব্যবহার করবেন এবং আপনি আপনার স্ক্রিপ্টটি কার্যকর করতে sh এর চেয়ে অজগর ব্যবহার করছেন।


2

আপনি আপনার বিল্ডে দুটি লাইন লিখতে পারেন:

chmod 777 ./my_script.sh
./my_script.sh

1
ওয়ার্ল্ড রাইট পারমিশন সেরা ধারণা নাও হতে পারে! 755 কেন নয় (মালিক লিখুন, প্রত্যেকে প্রত্যেকে পড়ুন /
সম্পাদন করুন

777 প্রকৃতপক্ষে সেরা ধারণা নয়, তবে এই উত্তরটি আমাকে সাহায্য করেছিল।
রবিন ডিজখফ

0

আপনি গিটে কিছু স্ক্রিপ্ট সঞ্চয় করতে পারেন, যেমন টেস্ট.শ:

#!/bin/bash
_test_func(){ 
 echo 'test'
}

তারপরে "শেল এক্সিকিউট করুন" ইনপুটটিতে script স্ক্রিপ্টটি আমদানি করুন এবং "_test_func" কল করুন:

source test.sh
_test_func

ফলাফল:

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