Showing posts with label Continuous Integration. Show all posts
Showing posts with label Continuous Integration. Show all posts

Tuesday, June 23, 2015

Booyah: Continuously Deploying our Azure services

Awesome! So I'm breaking up a monolithic application into cloud services which I'll host on the Azure platform. I had it up, running, and publishable from Visual Studio, with all the correct configs for the right environments.

Then I came across this blogpost: https://azure.microsoft.com/en-gb/documentation/articles/cloud-services-continuous-delivery-use-vso/ YES you should read it and see the awesomeness.

So now I'm continuously deploying my services on checkin to Azure - here's the proof:


Awesome. Do read the post - there are some little tips and tricks in there ( for instance, how to make sure the config transforms properly ). But if you have all the publish profiles set up correctly before, AND you're build server is up to date ( with build targets and things ), it'll be a breeze.

This is from the mentioned blog - this button gets you 90% of the way for you build configuration:


Thursday, April 30, 2015

I spent a day chasing a bug in NuGet ... which was already fixed

I guess that's what happens when you use a CTP ( Community Technical Preview ) or RC ( Release Candidate ) versions of applications: you can run into bugs that aren't finished yet.

Well, so did I: NuGet was installing FluentValidations under the /packages/FluentValidations.5.5.0 folder, and under /packages/FluentValidations.5.5.0.0 ( extra zero ) on our CI server. I'm running VS2015CTP6 on both boxes and it turned out  this bug is fixed in the RC version ( which is available as of yesterday ! ).

So I first created a StackOverfow question - that nobody saw ...



So after really thinking of every possible stupidity that I've could have done, I proceeded to create an issue on GitHub for the NuGet team:



To which I then got the response:


So I'll be updating today!

Thursday, February 5, 2015

Easy TeamCity Installation with Docker - by Ariya Hidayat

A colleague is working on a Ruby project mostly by himself and doesn't have a CI environment. So I decided to install TeamCity for him to play around with.

Since I've got my own projects to finish, I needed this to take the least amount of time, so I decided to see whether it's possible to use Docker, and obviously it is.

After setting up a fresh Ubuntu 14.10 server, installing docker ( apt-get install docker.io ) you're just 2 commands away from having TeamCity up-and-running:

docker run -dt -name teamcity_server -p 8111:8111 ariya/centos6-teamcity-server
and
docker run -e TEAMCITY_SERVER=http://buildserver:8111 -dt -p 9090:9090 ariya/centos6-teamcity-agent

Oh yes! Ariya Hidayat explains in his blogpost how it's done.





Saturday, June 15, 2013

Nice... Running TFS 2012 on my home server

At the office we're using TFS 2012 and I'm starting to like it. Coming from TeamCity, JIRA with GreenHopper and Subversion Edge, it took me a little time getting used to it. Since our office upgraded to TFS 2012 some colleagues came up to me with stories like 'did you know that in tfs2012 you can do so and so ...' and in my mind I thought 'so ... you're saying it wasn't available before?'. In a lot of ways TFS still has a long way to go and I'm sceptical it will ever reach the JIRA or GreenHopper level, but it is a pretty decent tool that I'm delighted to work with.

Burndowns, issue drag&dropping, those are some examples of stories everyone's excited about, that I had been using for more than 2 years in JIRA.

Anyway - I've got it running on my HP DL380 now:
Administrative tasks for the TFS environment are done using the TFS Administrative application on the server itself:


But most of the other stuff can be administrated using the web-interface:



So, I'm all set now to get started!





Thursday, May 16, 2013

Interesting Channel 9 talk: Building an Engineering Organization for Continuous Delivery

Here's a nice talk from Brian Harry about DevOps practices and how he and his TFS team moved from a 'waterfallian' model to a more agile model. I watched it and I liked it. It's described as:

Brian Harry shares behind-the-scenes information on how Team Foundation Service is developed and announces exciting additions in his ALM Summit keynote. As of now, Team Foundation Service provides a distributed version control offering with Git repos, and Visual Studio offers full Git integration with Visual Studio 2012 Update (currently available as a CTP release), including the option to use 3rd-party hosts. In a future release, Team Foundation Server will also support Git repos. Developers who want to use distributed version control systems can now get started quickly from within Visual Studio. This expansion of ALM options makes it easier for teams to adopt tools that are best suited to their specific needs.

See it here or use the video below:

Sunday, February 24, 2013

Using Teamcity + ANT to deploy Yii website

Over the last couple of weeks, I've deferred a bit from my normal .NET stuff and I'm working on some PHP projects within the company. I set up a website that offers an API to our partners and I've decided to go with Yii, because it seems quite popular at the moment.

Getting into Yii is very easy - there are great 'hello world' tutorials out there and after that it's really simple to get a hang of. Anyway - I set up deployment using our Teamcity server using an ANT script. 

Here's the steps of the ANT script:

  1. Overwrite the main.config file by my custom main.live.config file - containing db connection to the production DB etc. 
  2. Update the main.php configuration file and replacing some version and build numbers, so that I can display rev. ####, build ### at the bottom.
  3. Zip the checkout folder
  4. Upload the zipped file over ssh
  5. Remote unzip the file

Deployment takes 30 seconds here . Check it out:



  
  


  
    
    
    
  


  
    
    
    
    
      
    
    
    
  


  
    
    
      
    
    
  


    
    
    
    
  

  
    
    
    
  

  
    
    
    
    


I see that the code formatter is messing up the XML code - so just copy pasting won't work I'm affraid. Echo is an empty XML node of couse - like <echo .... /> .
Anyway - for us this is a great way of deploying our Yii site quickly, with updated version numbers and custom production configuration.