Archive

Archive for the ‘Environments’ Category

Setup – Jenkins and Windows


My team was recently assigned to help out another team who had a bit too much to do for a bit too long.  So, I wanted to see how easy or how hard it would be to use some of the tools that I’ve become quite use to.  One of those tools of course is Jenkins.  The idea was to set this new environment up to be a slave to my Master Jenkins Build Server running on Ubuntu while the slave would run on Windows.  Of course Jenkins has a lot of features with regards to this and I managed to fiddle enough to get it to work and I’ve released another article called “Setup – Jenkins and Windows” where I take you through how to do this.

The next thing I’m going to do is get it to pull the source code from Team Foundation Server and running the tests so we can know when we break something.  Just in case you were wondering, I do try to follow the Test Driven Development (TDD) way of writing code as much as possible and love the fact that it makes my life easier and safer.  I’ve decided to write another article on this as well, but you’ll have to wait and see when it comes out whether you agree or disagree with the things I write in there J

I hope you enjoy this new platform that you can use for your CI…

Advertisement

Git-Flow – Updates – Ideas

March 14, 2011 1 comment

As some of you that follow me may have seen, I’ve been quiet in the last week.  This is/was for good reason.  I’ve been a bit busy doing quite a number of things including writing more articles, some of which are more around the grey areas in development like Architecture, Methodologies of Development, Design Practices and so on.  I’ve also been busy trying to get my Code Project articles completed, which I’m hoping to publish very soon.  It’s been a bit strange putting these together and even though I’m going to take a while to publish all of them, they did get me to read a lot about various things and they also got me thinking about things that I’ve always done and re-evaluating those principles that I have and that most of us developers like to talk about.

So, hopefully I’ll get those done and hopefully they will get people talking a bit and I may even have some of you challenge my thoughts on some of the concepts that I’ll put out there, even though there won’t be too many new things.  The idea is to start having the discussions in an open platform where everyone is on the same foot and all the different paths can be explored in an honest manner.  Anyway, I’m not going to go too much into it right now… 🙂  Just know that it will be coming in the next month or so and it should be interesting to hear what some of you say…

In the meanwhile I’ve just finished my article on Git-Flow called “Getting Started – Git-Flow” and I hope you’ll enjoy it.  Git-Flow is a very interesting concept that builds on the powers that Git gives you, even though it can be implemented on just about any and every other Version Control System there is.  So, if you were looking for a good Branching Strategy or a good process to implement for when your company/team is doing development, try it and give me some feedback to say where I can help you adopt it or where my explanations are lacking a bit. 

In the meanwhile, I’m going to continue writing those other articles which will hopefully take me a bit more into the code and a bit less into the environmental things that makes our lives easier by giving business the visibility they need.

Have fun!!!! 🙂

Getting Started -Git


So, you may have heard about a thing called Git and you were wondering more or less what it is and whether you would be able to use it for your own projects.  Of course it’s not something new to those that know about it and for those that have been doing some open-source work.  For the rest of us who come from more of a Microsoft world or even a Java one where we use tools like Team Foundation Server and Subversion, I’m hoping that you’ll find my new article called “Getting Started – Git” a bit more helpful in explaining what this thing called Git is.  Since learning about Git and using Git, I’ve slowly started switching my stuff over to Git and even though I found it to be a bit tough to get use to when starting, I’ve come to realize that the benefits of using it outweighs the benefits of using some other tools. 

As you’ve probably seen on this site, I have quite a few articles pertaining to Environments and the tools you can use to work well on all projects.  Well…  This is another one of those tools.  What you will also be seeing in the coming months is how I start bringing these toolsets into the world I’m use to called Microsoft.  As I’ve mentioned in some of my other articles, I’ve been trying to finish some articles that I’m hoping to publish on Code Project, which of course I’ll also have hosted here.  Most of those articles will be on code written in .Net and what I would like to do is take those articles and their code and also do them in Java and Ruby, which will then hopefully give some of you non-Ruby and Java developers wanting to come into this space a bit of an advantage on how to get into it faster.  I hope you enjoy the article and I also hope that you find some of the stuff in there helpful and useful to get you to understand Git and how to use it.  In a subsequent article I’ll be combining Git and Git-Flow to give you a branching strategy that makes life a whole lot easier.

Setup – Jenkins and RVM

February 24, 2011 Leave a comment

I’ve just completed another article related to Environments called “Setup – Jenkins and RVM“.  In this article I take you through the setup process to get Jenkins and Ruby Version Manager (RVM) to play nice with each other.  I start with the Build Server and RVM setup and then take you through to pulling your first GitHub hosted Ruby code, doing a Bundle Install and finally running a rake for your Unit Tests.  I hope this will help someone out there, seeing that I have struggled to understand why things on Jenkins don’t work or why my Jenkins install doesn’t pick up that I have RVM running with the correct Rubies.  It was fun and it seems to be working.  So, enjoy!!! 🙂

Setup – Requirements

February 23, 2011 Leave a comment

After writing some articles on this site and having to copy and paste the same text from some of my other articles over and over and also getting a bit frustrated in having to look up which requirements need to be installed where I decided to dedicate and article to this topic.  You can find the article under the “Environments” menu and I called it “Setup – Requirements“.  If you want to run Ruby or NetBeans or Apache or something else, then you should run through this list of things first.  I would suggest that you start at the top.  Why you need to install most of these packages, I’m not going to go into other than to say that you’ll be saving yourself lots of hours on Google trying to figure out why some Ruby Gem is telling you that it can’t find a package while the package is installed already.  There are some strange dependencies when you want to do the most arbitrary things.  I hope this helps someone out there and that it gives you a bit of a head start when installing your Development, Build or Production environments.

In the coming days I’ll be changing my articles to all point to this to ensure that it’s a but easier to get through an article without having to do some research or find that article that outlines the steps in a reproducible way.  Enjoy!! 🙂

Setup – Apache and Jenkins

February 22, 2011 Leave a comment

So, there is now something called Jenkins in the world of Open Source Build Servers and it seems like it’s been around for a few months.  Why is this remarkable?  Well…  Simply because Jenkins = Hudson.  I was installing another server with Hudson today following the instructions in my article “Setup – Apache and Hudson” and only when I completed the install did I realise that Hudson is now actually called Jenkins.  So, has anything changed?  Nope, not really.  Why did they decide to make this bold move?  I can’t say, other than that there is some speculation that the guys over at Oracle wanted to start charging license fees for the use of Hudson and that the previously known Hudson guys then decided to for Hudson, rename it to Jenkins and to continue with the project in the old Open Source manner.  Well, if this is true, then I am glad, because since I started using Hudson/Jenkins I haven’t looked back or had the urge to explore some of the other platforms out there.  It simply works 🙂

To top it off, I obviously opted to uninstall Hudson and to install Jenkins and once that was done I thought that it might be a good idea to add/update another article to show you how to install the new Jenkins platform.  You can find this article, called “Setup – Apache and Jenkins” here.  I’m sure you’ll enjoy Jenkins as much as you’ve enjoyed Hudson and I’m also sure that we can expect to see this project grow in the coming months as we’ve seen it grow from the beginning.  I wish them all the luck in their bold move and hope they continue to have fun 🙂  I know we will 🙂

Heads up though, I’m in the process of writing an article on how to use Jenkins as your Build Server runnig Continuous Integration for Ruby projects under Ruby Version Manager (RVM).

GitHub – Getting Started

February 15, 2011 2 comments

Even though I’ve been away from this site for a while (bad, really bad) I am coming back to it with some ideas and hope to continue the fun.  So, for my come back, I’ve just published a “Getting Started” article under the Environments menu for getting into GitHub and I’ve also added a “Source Repository” menu item under the “About” menu that should take you to a place where I’ll hopefully be hosting some of the source of those articles that I’ve been promising for so long.  I did some research on the various online repository hosting companies and must say that the solution that GitHub gives you is very comprehensive.  So, I chose them as part of my “Ultimate Environments” range of tools I would recommend and that I will be using myself.  Take into consideration that the entire range is still under construction and I will be refining, changing and adding more information as I continue.  So, none of the articles on this site will at any stage be seen as complete, just like the code we write on a daily basis.  In the real world, we only stop coding on a project when we start with a new one and if we start with a new one, we all know that we did the previous one wrong.  I hope you like it and find it helpful and I look forward for any feedback and changes you may like.

Ultimate Environments

November 6, 2010 Leave a comment

When doing development we always underestimate the environment we work in.  What I mean by this is that we don’t want to think of how we’re going to release a product, how the testing will be done and on which platforms and we definitely don’t like to think that someone out there, usually called the “stakeholder”, would be interested to see on a daily basis the progress we’re making on the product/system they pay us to do…  Now if you take all this into consideration and you really analyze this for yourself and make a list of all those pesky things Management always make you do, which are not development related then you soon realize that they’re almost all the same things over and over and over again.  Now, if you sat down for a few seconds and really thought how you would like to remove those pesky things that they want and strictly speaking need you to do, like have a site where they can play on the product that you’re working on, or they would like to get daily (some cases even hourly) updates and they would really like to see whether the quality of the product that you’re working on is worth the money they’re spending on you and everything that comes with you, then isn’t it time that we as developers start doing something about it…  I mean there are so many resources and products out there that enable us to remove those things.  Even though these products are out there we still continue in the way we usually do…  WHY???  Could it be laziness? I don’t think so, because doing those pesky things are simply more work…  Is it that we like those pesky things?  Again I don’t think so.  Is it because we don’t have time to do it? NOPE!!! Try again…  Personally I think that it’s simply because we’re not empowered to do it and we would rather sit and play with something more cool than say setting up a Hudson server to have our nightly builds released to that “special” environment where Management and stakeholders can play.

I’ve just completed writing another article on this site where you can see how easy it is to set up an environment and will continue writing about how to continue with this process of eliminating all those pesky Management things that we, as Techies, don’t like doing and definitely don’t want to continue doing going forward… The set of articles can be found under Environments and I really hope that we start enabling ourselves to do more of these things, because I know for a fact that there are a lot of other companies out there that still don’t have these basic things in place and at the same time it’s really not a new concept…

 

%d bloggers like this: