Is there a tool for cross platform continuous inte

2019-02-02 15:18发布

I looked at a couple other questions on SO - and not really sure they answer this question.

We are building C++ applications for Win32 and Linux. Right now we have some scripts (bat files for win32) that run on a schedule to do builds.

We'd like to have CI for our projects, but I'd like to have only one CI server that handles building on both platforms. Integration with SVN is important.

Is it possible to have one configuration/one CI product/server do this?

Has anyone done this successfully? Bamboo looks like it might solve our needs, but I hate to jump into an expenditure like that as a bootstrapped startup if we can avoid the cost.

4条回答
ら.Afraid
2楼-- · 2019-02-02 15:54

We use Zed Builds and Bugs for this and it works really well for us. There's a single central server where you setup your build definition. Then for each "step" in the full build, you can define which server that "step" will execute on. We have steps that execute across: Win32, Linux64, Linux32, HP, AIX, Solaris, and even steps that are pushed across the world for remote execution.

Each of the steps can be setup to run in parallel or series, so when HP, AIX, Solaris, and Linux are all doing the same thing, they can all run in parallel, and the Win32 follow-up will wait until everything finishes before continuing.

You can also set up child build processes, and then launch these from the "master" build so that you can create more complicated build threads that will run independently from each other, but all tied together via the master build definition.

It's not free, but the amount of time that it has saved us (me in particular) has well paid for the cost of the software many times over.

查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-02-02 15:58

TeamCity can run build agents on different platforms, for example, one build agent on Windows and one on Linux. There is configuration available to specify which build agents each build goes to.

TeamCity isn't free, as in speech, but there is a free, as in beer, version (the Professional Edition) with some limits (3 build agents, 20 users, 20 build configurations).

查看更多
再贱就再见
4楼-- · 2019-02-02 16:00

Buildbot is definetly one tool to look at - http://buildbot.net/trac. Central server which monitors all the projects and notifies agents of new tasks so you can build on any environment you really need without setting up cross compilation environment.

You could also look at Cruise Control @ http://cruisecontrol.sourceforge.net. While it looks like its more geared towards java building, you can do quite a lot with it. I have a setup that builds linux arm & i386 binaries and packages those into debs and maintains a debian repository from build results - run unittests and all kinds of stuff on the code..

But what i really wanted to say is that basicly, allmost all ci server software that i've used are mainly just "task schedulers" and you still need to build/configure the build environment yourself which is - in multiplatform scenarios atleast - bigger tasks that configuring a software that executes the builds and produces nice reports from them..

查看更多
时光不老,我们不散
5楼-- · 2019-02-02 16:10

You might want to have a go at Hudson or Jenkins . Though primarily for Java-based projects, you could tweak them to suit your needs. They integrate with SVN smoothly, plus you could use the muti-step build feature to call your (existing) batch files, and process further.

查看更多
登录 后发表回答