ant & cvs запрашивает пароль, хотя пароль должен исходить от PageAnt
У меня есть файл сборки ant, который должен вызывать cvs checkouts при вызове. Я могу назвать это нормально, но когда ant использует cvs для подключения к репозиторию cvs, репозиторий запрашивает пароль, и, очевидно, команда ant не выполняется.
У меня есть переменная среды CVSROOT, указывающая на то же место, где я взял начальную проверку для проекта с TortoiseCVS, имея ssh в качестве протокола.
У меня также запущен конкурс на замазку и переменная окружения CVS_RSH, указывающая на plink.exe из замазки. Эта комбинация должна устанавливать соединение через замазку, потому что из меню pageAnt соединение открывается без подсказок.
Моя операционная система - Windows 8.
Вопрос в том, почему сборка ant завершается неудачно при запросе пароля на сервере cvs, хотя PageAnt в противном случае разрешает быстрый доступ через ssh+cvs?
1 ответ
Муравей cvs
задача вызывает cvs.exe
командная строка из PATH
поэтому, если все работает должным образом из командной строки, нет (почти) никаких причин, по которым он выйдет из Ant.
Вот контрольный список с точками для проверки:
CVSROOT
должен содержать имя пользователя и указатьext
протокол,:ext:username@cvserver.domain.ldt:/path/to/repository
CVS_RSH
должен указать наplink.exe
с абсолютным путем к файлу, и вы должны убедиться, что он будет использовать протокол SSH- Ваш закрытый ключ SSH должен быть загружен в Pageant для того же сеанса пользователя, что и пользователь, выполняющий скрипт Ant
Если это не помогает, пожалуйста, предоставьте более подробную информацию о вашем cvs
параметры задачи и настройки вашей рабочей станции.
При запуске без открытого сеанса пользователя, когда Pageant не может помочь, часто для инструментов непрерывной интеграции, лучшим вариантом является передача всех аргументов, таких как имя пользователя и файл закрытого ключа, в plink
прямо в CVS_RSH
переменная:
CVS_RSH="C:\path\to\plink.exe -batch -ssh -l username -i C:\path\user\ssh-privatekey.ppk"
Конечно, в таком случае ваш файл закрытого ключа не должен быть защищен парольной фразой.