Does anyone manage their continuous integration with TeamCity, FinalBuilder and Mercurial (Kiln)?

Possible duplicate:
Stack of continuous integration in Windows with Mercurial + Mercurial Queues?

If so, what does your build process look like?

I have a difficult time (mainly due to the lack of experience / understanding of all 3 tools), so TeamCity runs my FinalBuilder scripts. Right now I have FinalBuilder managing all of the verification checks of the source code, and TeamCity basically just launches the FinalBuilder script and reads the NUnit test results, but it doesn’t work due to authentication errors when executing mercury commands to the oven.

+3
source share
2 answers

If you installed Kiln Client on a computer running FinalBuilder script, you will have access to the extended extension "kilnauth", which should solve this problem for you.

Just log into the build machine as the user running the FinalBuilder script, and manually execute one push or pull command from the Mercurial repository that you are trying to use, you will be asked to authenticate. Authentication is one time, and the Kiln Client extensions will remember this authentication for this user ... and any subsequent runs of the FinalBuilder script should authenticate just fine.

? , . , , , Mercurial http://{username}: {password} @{kiln url}... , .

?

+3

Kiln, VSoft Mercurial FinalBuilder. , .

SSH SSL? / ? , , FinalBuilder.

BitBucket SSH, :

  • puttygen pageant
  • SSH puttygen
  • BitBucket

hg push ssh://hg@bitbucket.org/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.

, - Action 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, , , , .

+2

Source: https://habr.com/ru/post/1736225/


All Articles