четверг, 22 октября 2009 г.

Копирование релизов на sourceforge.net

Уффф... Пока нашёл способ залить релизные файлы на sourceforge.net в не интерактивном режиме(проще говоря без моего участия) вспотел весь.

Изначально я бросился в пучину pubkey аутентификации, долго боролся и победил!
Потом я нашёл намного более простой способ...

Расскажу вкратце, может кому поможет.

1. Простой способ.
Необходим Ant (предположим, установленный в c:\ant)
А так-же необходима библиотека для задачи scp. Лежит она где-то тут, которую нужно положить в c:\ant\lib\

Пишем простую задачу:
<scp
todir="${sourceforge.user}:${sourceforge.password}@frs.sourceforge.net:/home/frs/project/m/mi/minsktranssched/"
trust="yes"
>

<fileset file="bin/MinskTransSched.jad" />
<fileset file="bin/MinskTransSched.jar" />

</scp>

Переменные ${sourceforge.user} и ${sourceforge.password} нужно определить где-нибудь в другом файле, который не будет попадать в общедоступный репозиторий.

Причём username должен содержать имя пользователя и проекта:
sourceforge.user=azarkevich,minsktranssched
sourceforge.password=pupkin-super-parol

Атрибут trust="yes" позволяет не возится с файлом доверенных хостов, а доверять всем.

Пункт назначения такой:
/home/frs/project/m/mi/minsktranssched/
где minsktranssched - имя проекта, а /m/mi/ соответственно первая и первые 2 буквы имени проекта

Этой задачей будут скопированы файлы MinskTransSched.jad и MinskTransSched.jar

Вуаля!

2. Тут был сложный способ, но я его затёр. Обидно-с... Второй раз писать не буду, скажу только, что он заключался в использовании pubkey аутентификации и использовании обычных консольных утилит ssh, scp. Поэтому этот способ можно было использовать без Ant-а.

Комментариев нет: