A web interface to automatically build c/c++ programs? - linux

Hi I have some c/c++ projects under development and version controlled with git. I would like to make/find a web interface program, which should:
one button to build a bleeding edge target of the project.
view build errors/logs of each build.
export the build target (deb file for me) to a public location after a successful build.
Is there any existing/similar tool? or I should build my own one?

What you're talking about is continuous integration and there are many solutions available.

Continuous integration server such as Jenkins is a variant

Related

Prevent a project from building if a dependent project fails

I have a VS2010 solution that includes a custom project. The project builds an installer out of all the libraries and executables built in the same solution. This is a third-party installer builder, not a native Visual Studio installer project. It runs a custom command in the post-build event of the project.
The problem with this setup is that the installer project build runs (and succeeds!) even if some other project build fails.
I have added project dependencies so that the installer project depends on all other projects, to no avail. I have also tried to add project references with the same result.
This happens only with this specific project (probably because it's a custom project with configuration type "utility"). Other projects don't start building if a dependent project fails to build.
This is a dangerous situation. A developer may not pay attention to a build failure in some other project and use the incorrectly built installer. I need MSVC to skip building the installer project if some other project fails.
How should I deal with it?
Ideally this should be solved at the MSVC level. I don't want to add custom checks to the installer build command because this would mean I have to maintain a list of projects/targets in two separate places. I also don't want to introduce additional tools to the picture.

Continuous Building on Linux

We have a smallish C++ Linux project that accompanies our large C++/MFC Windows project. Currently, the Windows project uses CruiseControl.net and Visual Build Pro for managing continuous building and integration. We would like implement something to start our Linux project on the same path.
My question is, should I research using a separate Build tool for Linux or attempt to get Visual Build Pro to work by leveraging its automation and simply invoking a make script on a our Linux Build Machine to actually compile the project?
Even further, due to the size of the Linux project, would it be just easier to script it all including making snapshots and such?
While I don't know the complexity of the "integration" step in your project, the "building" step is in my experience best solved by a trivial shell script:
BUILDDIR=`mktemp -d`
svn checkout MY_REPOSITORY/trunk $BUILDDIR
cd $BUILDDIR
./configure
make all check
I've solved the integration test part with Dejagnu in my current project, works like a charm with another line of sh calling it.
Then insert this shell script into the daily run routine (e.g. by adding it to the crontab of a special CI user on the Linux machine) and forward all of the mail the CI user gets to the person responsible for watching the CI.
You can use jenkins or hudson to build on Linux box. This tools have integration with Source Control (svn, perforce, ...), cppunit ...

Can I use WSPBuilder in a sharepoint continuous integration system?

We use a teamcity server to do CI for some things, we have started with some sharepoint web part development (again) and would like to integrate this into our CI system
Using WSPBuilder on the desktop works really well but I am not sure how to fire off the tasks on the CI server. Has anyone done this? Are there MSbuild targets around to do it... or how would I go about writing my own? (is that even possible!?)
Thanks
edit: if it is not clear I want WSPBuilder on the CI server to do the building of the WSP (ideally automating the desktop experience also so the CI server and developers machines are doing the same thing)
Yes - WSPBuilder was originally a command line tool and the VS plugin part of WSPBuilder is still just an interface on top of that without much functionality of its own - install WSPBuilder on your build server and you should be able to do everything you need with Exec tasks.

generate exe file

i have developed application in visual c++ 6.0,i have do exe of that application,i have done by using icnt.exe(install creator),but when i run my application exe file on other system which does't have the vc++ software it's showing dll files are missing,how could than i downloaded the dll files again it is asking other dll's files.i want run my application without installing vc++ software in windows,how can i solve it,plz help me i'm touble.
How to make Realease build? by default its debug build
thanks for reply.
As a wild guess, you have deployed the Debug build, which depends on DLLs that are not allowed to be shipped.
If that is the case, have VC6 create a Release build and deploy that.
You can verify which DLLs are required by your application with the depends.exe utility that came with Visual Studio.
Edit: The easiest way to get a release build when ready is to use the Batch Build command from the Build menu. It will let you pick among all of the known build types in the project, and choose to either build them clean (recommended) or to just bring them up to date.
It is also possible to switch the GUI to default to the Release build instead of Debug. That is the right thing to do if you actually need to run the debugger on the Release build. Note that both builds include debug symbols. The differences have more to do with which runtime libraries are linked, and certain optimizations such as making the assert() macro have no effect.

Run StyleCop against iis based Web Project on buildserver

How do I run stylecop against an iis based webproject on a buildserver?
Buildserver runs in continuous integration and I would like this automated.
With a library I can add a few lines to the .csproj and its done. I believe it to be a website application project.
Is it a web application project or a web site in Visual Studio? With the former option, it is compiled into an assembly, so you could always run StyleCop from the build scripts when building the assembly.
Alternatively you could run StyleCop as a plugin from within VisualStudio, but you're probably asking for automation here. It all depends on your build process, I think. There are various build configurations, so please elaborate a bit more on what are you actually doing on this build server. Continuous integration?
Not possible with the project type, projects need to be converted.

Resources