باستخدام توقع لتسجيل الدخول إلى SVN
-
03-07-2019 - |
سؤال
أحاول استخدام برنامج نصي تلقائي، والذي من شأنه تسجيل الدخول إلى SVN، وتحديث مصادري، وإنشاء كرة tarball بها وإرسالها إلى مضيف بعيد.
المشكلة هنا هي أنه لكل تسجيل دخول إلى SVN (حتى عند الخروج أو التحديث)، نطلب إدخال كلمة المرور الخاصة بنا.أتمتة إدخال كلمة المرور، الطريقة الوحيدة التي تمكنت من العثور عليها، كانت استخدام توقع للعمل على هذا.
هل هناك أي برنامج نصي متوقع يمكنه الاهتمام بـ SVN و scp لاكتشاف كلمة المرور وإعطاءها لـ SVN ثم إلى SCP؟
أنا أستخدم ما يلي:
spawn svn [lindex $argv 0]
expect " password: $"
send "$password\r"
expect {
" password: $" send "$password\r"
"^At revision "
"^Updated to revision "
}
أمر كلمة المرور والأعلى من سطر الأوامر، ولكن هناك تهديد أمني هناك إذا كان لدى شخص ما حق الوصول إلى السجل.الإجابات المذكورة أدناه لا تلبي متطلباتي المسبقة، كما أنني غير قادر على إجراء عملية تصدير في الوقت الحالي [بعض المخاوف الأمنية الأخرى :-(]
المحلول
linuxbashscript.sh
svn up /path/to/local/copy
tar -cf backup.tar /path/to/local/copy
scp backup.tar user@192.1.1.1:/path/on/remote/host
أو حتى تصدير svn أفضل للمستخدم والذي سيستبعد كافة أدلة .svn.
svn export /path/to/repo /path/to/exported
tar -cf backup.tar /path/to/local/copy
scp backup.tar user@192.1.1.1:/path/on/remote/host
نصائح أخرى
إذا كنت تستخدم إس + سه بروتوكول للوصول الريبو SVN الخاص بك مما يمكنك استخدام مفاتيح SSH وسه وكيل لإدارة المصافحة لذلك أنت لا تحتاج إلى إشراك كلمات السر.
وأنا شخصيا أود أن استخدام ANT للقيام بكل تلك المهام ومن ثم يمكنك الاتصال النصي النمل حسب الحاجة. النمل لديه من المهام مسبقا لإس واللجنة الدائمة فضلا عن غيرها من العديد من المهام نوع بناء الأتمتة.
إذا (كما اقترح ديف)، إذا كنت ستستخدم Ant، فستكون لديك المهام التالية تحت تصرفك:
- SvnAnt للقيام بعمليات تسجيل المغادرة وتسجيل الوصول وكل الأشياء بينهما
- النمل القطران مهمة إنشاء الأرشيف
- النمل SCP مهمة نشره
يمكنك حفظ كلمات المرور في ملف خاصية منفصل إذا كنت مهتمًا بالأمان.