Skip to main content

Posts

The Top 7 Things That Your CI Server Should Do

As I mentioned in a previous post , we are using Jenkins CI .  Here are the top 7 things that we are using it for. 1. Build from Source Control This is the most basic, but also the most crucial.  If you don't know what source code is being used in production, then you are in some trouble.  If your CI server can build it, then you guarantee that at least one other person can build the code.  If not, then you don't know if someone has some magic settings in their IDE or in their environment variables.  Does it guarantee that you can build the code on your machine?  No, but it will give you a better chance.
Recent posts

Continuous Integration with Jenkins CI

When I started my new job, I was handed a project that no one knew where the production source resided. In source control, there were three or so versions of the project, but none of them seemed to match up with what was running in prod. Ouch! "How can we prevent this?", I thought. Well one way is to have it automatically built every day (or every time it is changed) pulled from a VCS repository. Then, always release from the automated build. I started looking into CI as a build server initially. We have a unique environment where we are heavy in Java and C++ with some sprinkles of C, Python, Delphi, C#, and Groovy. Flexibility was our top priority. We started looking at our options. We came across a few TeamCity, Jenkins  (Hudson at the time), and CruiseControl. Jenkins seemed like it had the most plugins for every language which made it the most flexible. Now, Jenkins is used for running the build, unit tests, code coverage, profiling, generating profiling

New blog

Ok, so I haven't posted over at my  android development blog in a long time.  The development is kind of on hold for now, but I have been doing a bunch of other interesting things.  I probably learned more things in the last year, then I did the previous 2 years.  I hope to blog about the things I have been learning about like: continuous integration with Jenkins, CMake, Google Testing Framework for C++, Valgrind, Profiling code, callgraph visualizations, and books that I have been reading.