Я ничего не знаю о Kiln, но я только начал работать в VSoft и работаю над действием Mercurial для следующей версии FinalBuilder. Надеюсь, что-то из этого поможет.
Вы выполняете аутентификацию через SSH или SSL? Можете ли вы вытащить/направить в репозиторий из командной строки? Почти все, что вы можете заставить работать из командной строки, должно быть возможно с FinalBuilder.
Для аутентификации в BitBucket через SSH я сделал следующее:
- скачать puttygen и конкурс
- создайте новый ключ SSH в puttygen
- добавить закрытый ключ в конкурс
- добавить открытый ключ в BitBucket
Оттуда я могу успешно
hg push ssh://[email protected]/user/repo
NB, у меня также установлен TortoiseHG, а Mercurial использует TortoisePlink в качестве ssh-клиента.
Если вы используете SSL, вы можете сохранить комбинацию имени пользователя и пароля в своем действии FinalBuilder. Чтобы превратить поле TextEdit в поле пароля, измените свойство PasswordChar
с #0
на *
. Затем в событии ReadData
добавьте что-то вроде
Page.tbPassword.Text = DecryptString(Properties.PropertyAsString("Token"));
а в событии WriteData
добавить
Properties.PropertyAsString("Token") = EncryptString(Page.tbPassword.Text);
Когда вы добавляете свойство Token
в действие, отметьте параметры Property is Hidden from Action Inspector
и Property is Read Only in Action Inspector
.
Чтобы сгенерировать строку репозитория, вам нужно сделать что-то подобное в событии GetCommandLine
действия:
var repo = Context.Properties.PropertyAsString("Repository");
var username = Context.Properties.PropertyAsString("Username");
var password = DecryptString(Context.Properties.PropertyAsString("Token"));
var repo = "ssh://" + username + ":" + password + "@" + repo;
CommandLine.AddArgument("push", repo, qtNone);
NB, я не тестировал этот код, но, надеюсь, он даст вам представление.
person
Ben Hughes
schedule
10.03.2010