Remote Checkout with StarTeam

I understand that remote agent checkout only works with CVS and Subversion. Are there any plans to support remote checkout for other version control systems, namely StarTeam? Is this something I could write a TeamCity plugin for? What types of things do I need to be aware of? If I write a remote checkout plugin for this to my agents, will the GUI automatically be updated to add the Remote Checkout option for builds that use StarTeam? Thanks!

Rick Cole

5 comments

Hello Rick,

Why do you need this on agent side?

I understand that remote agent checkout only works with CVS and
Subversion. Are there any plans to support remote checkout for other
version control systems, namely StarTeam? Is this something I could
write a TeamCity plugin for? What types of things do I need to be
aware of? If I write a remote checkout plugin for this to my agents,
will the GUI automatically be updated to add the Remote Checkout
option for builds that use StarTeam? Thanks!

Rick Cole

--
Sergey Anchipolevsky
Software Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


0

We have a distributed team split between sites in separate states (site A and site B). We have StarTeam servers on each site with plans for a TeamCity server here at site A. Unless we want to have two different TeamCity servers (which we would rather avoid so we can unify our build process), then building a project would entail us checking out code from site B to site A. This is painfully slow due to our not so good network and the size of the files being checked out. It seems like it would be better if we could run agents on site B and check out directly to them so the code would not have to be checked out between the sites. This way our continuous build would run much faster since there is much less network latency involved. Is there a better way to do this?

Rick Cole

0

Hello Rick,

We aren't planning to implement this feature. But there is a workaround.

You can set VCS checkout mode to "don't checkout files automatically"
and set the checkout directory to the path where you're going to build your
project at site B.

This means that change detection and triggering will work as usual but no
project files will be transferred between the server and the agent.
Now you need to make your build script checkout the project files before
compiling.

It's not a problem if you build the project with ant or Ipr runner. You just
have to tweak it a bit.

If you aren't satisified with this solution you can file a Jira issue and
vote for it.

Or you can write your own StarTeam plugin, but this would be a complicated
task since it cannot reuse the existing JetBrains StarTeam plugin.

We have a distributed team split between sites in separate states
(site A and site B). We have StarTeam servers on each site with plans
for a TeamCity server here at site A. Unless we want to have two
different TeamCity servers (which we would rather avoid so we can
unify our build process), then building a project would entail us
checking out code from site B to site A. This is painfully slow due to
our not so good network and the size of the files being checked out.
It seems like it would be better if we could run agents on site B and
check out directly to them so the code would not have to be checked
out between the sites. This way our continuous build would run much
faster since there is much less network latency involved. Is there a
better way to do this?

Rick Cole

--
Sergey Anchipolevsky
Software Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


0

How complicated would this be? Don't I just need to implement the interface (CheckoutOnAgentVcsSupport) for an agent check out plugin and use the StarTeam SDK to do the checkout (updateSources)? Would the TeamCity UI be dynamically updated to include 'checkout to agent' as a choice in the drop down if I return "starteam" from the getName() call? Other than having to implement the functionality for the FileRule settings, are there any other gotchas in this process? Thanks!

Rick Cole

0

Hello Rick,

How complicated would this be? Don't I just need to implement the
interface (CheckoutOnAgentVcsSupport) for an agent check out plugin
and use the StarTeam SDK to do the checkout (updateSources)?


Right now just implementing CheckoutOnAgentVcsSupport is not enough.
But we're working on a solution that makes it possible.
Hopefully it will be included into the upcoming release.

Would the
TeamCity UI be dynamically updated to include 'checkout to agent' as a
choice in the drop down if I return "starteam" from the getName()
call?


With the new solution it will be quite simple. Not exactly like this though.
No much detail by the moment. It's being designed.

Other than having to implement the functionality for the
FileRule settings, are there any other gotchas in this process?
Thanks!


Yes. The StarTeam itself. %)


--
Sergey Anchipolevsky
Software Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


0

Please sign in to leave a comment.