تم تصميم GOPM لأداء المهام التالية:
يمكنك تثبيت MOW Package Manager باستخدام الطرق التالية:
go installيمكنك تثبيت أحدث إصدار من MOAND MANGARE GO عن طريق تشغيل الأمر التالي في المحطة الخاصة بك:
go install github.com/bpva/gopm/cmd/gopm@latest
ثم ببساطة تشغيل:
gopm
بدلاً من ذلك ، يمكنك تنزيل إصدار الإصدار المطلوب من Go Package Manager من صفحة الإصدارات (https://github.com/bpva/gopm/release) على github. اختر الثنائي المناسب لنظام التشغيل والهندسة المعمارية الخاصة بك ، ثم اتبع تعليمات التثبيت الواردة في وثائق الإصدار.
لتكوين الأداة ، يمكنك استخدام ملف .env أو متغيرات البيئة. تدعم الأداة خيارات التكوين التالية:
GOPM_SSH_MODE : وضع SSH للاستخدام. قم بتعيينها login+password لتسجيل الدخول وكلمة المرور ، أو key المصادقة المستندة إلى المفاتيح.GOPM_SSH_LOGIN : اسم مستخدم تسجيل الدخول إلى SSH.SSH_KEY_PATH : المسار إلى ملف المفتاح الخاص للمصادقة المستندة إلى المفاتيح. اتركه فارغًا في حالة استخدام مصادقة تسجيل الدخول وكلمة المرور.GOPM_SSH_PASSWORD : كلمة مرور تسجيل الدخول SSH. اتركه فارغًا في حالة استخدام المصادقة القائمة على المفاتيح.GOPM_SSH_HOST : مضيف SSH للاتصال بـ.GOPM_SSH_PORT : منفذ SSH لاستخدامه (افتراضي: 22 )..env لاستخدام ملف .env ، قم بإنشاء ملف يسمى .env في الدليل الجذر لمشروعك. يجب أن يتبع الملف تنسيق زوج المفتاح ، حيث يمثل كل سطر خيار تكوين في KEY=VALUE . يمكن العثور على مثال في دليل الجذر على سبيل المثال. env (أعد تسميته إلى .env)
بدلاً من ذلك ، يمكنك تعيين خيارات التكوين مباشرة باستخدام متغيرات البيئة. تأكد من تعيين متغيرات البيئة المطلوبة مع القيم المناسبة.
.env إذا كنت ترغب في تحديد موقع مختلف لملف .env ، يمكنك استخدام علامة -env عند تشغيل الأداة. على سبيل المثال:
gopm create testdata/package.json -env /path/to/.envسيقدم مدير الحزمة الأوامر التالية:
gopm create ./packet.json : حزم الملفات المحددة في ملف الحزمة في أرشيف.gopm update ./packages.json : تنزيل ملفات الأرشيف عبر SSH وتفريغها. يجب أن يكون ملف الحزمة إما تنسيق .yaml أو .json . يجب أن تتضمن مسارات لتحديد الملفات باستخدام أنماط الكرات.
Packet.Json
{
"name" : " packet-1 " ,
"ver" : " 1.10 " ,
"targets" : [
" ./archivethis1/*.txt " ,
{ "path" : " ./archivethis2/ " , "exclude" : " *.tmp " }
],
"packets" : [
{ "name" : " packet-3 " , "ver" : " <=2.0 " }
]
}Packages.Json
{
"packages" : [
{ "name" : " packet-1 " , "ver" : " >=1.10 " },
{ "name" : " packet-2 " },
{ "name" : " packet-3 " , "ver" : " <=1.10 " }
]
}ويمكنني أن أدخل أي افتراضات معقولة لتبسيط التطوير.