لا يمكن العثور على الكود الذي يتم تشغيله بواسطة Hudson قابلاً للتنفيذ في سطر الأوامر

StackOverflow https://stackoverflow.com/questions/137243

  •  02-07-2019
  •  | 
  •  

سؤال

أقوم بإعداد وظيفتي الأولى في هدسون، وأواجه بعض المشاكل.تراقب المهمة مستودعين، أحدهما يحتوي على ملفات إعداد قاعدة البيانات الخاصة بنا، والآخر يحتوي على جزء صغير من التعليمات البرمجية التي تتحقق من صحة ملفات إعداد قاعدة البيانات وتختبرها.

سيرمي جزء من التعليمات البرمجية التي يتم تشغيلها ملفات الإعداد التي تم التحقق من صحتها إلى PostgreSQL، باستخدام أداة سطر الأوامر psql، باستخدام Runtime.exec().يعمل هذا الرمز بشكل مثالي على جهازي، ولكن عندما ينفذه Hudson (جهاز مختلف) أحصل على الخطأ التالي:

java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system cannot find the file specified

psql.exe موجود على المسار، ويمكنني تنفيذه عن طريق كتابة كل شيء في سطر الأوامر، من نفس المكان الذي يقوم فيه Hudson بتنفيذ التعليمات البرمجية.الملف الذي من المفترض أن يتم تمريره إلى psql موجود.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

أجد أنك بحاجة إلى أن يكون البرنامج في المسار عند تشغيل Hudson أو العبد.على الرغم من القدرة على تحديد المسار في هدسون، إلا أنه لا يبدو أنه يعمل.يمكنك أيضًا وضع المسار الكامل في الأمر، وهي فكرة جيدة حقًا من منظور أمني على أي حال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top