background preloader

Automated Deployment

Facebook Twitter

Automated Release Deployment Is Not Enough! 3 Reasons Why You need to Validation for Your IT Release Management. By Sasha Gilenson Despite the widespread use of deployment automation software today, change management and release validation plays a critical role in maintaining optimum availability and performance, preventing harmful downtime.

Automated Release Deployment Is Not Enough! 3 Reasons Why You need to Validation for Your IT Release Management

So why spend the extra time and trouble to validate releases, after all you can automate your deployments, and everything is supposed to run as planned – no surprises, right? Well, not exactly.There are several perspectives to look at this, and see where deployment automation still falls short. #1 Environment Modeling Only Maps What We Already Know, NOT Unknowns. Grails & Hudson Part 4: Automated Deployment. This is a quick post to describe the steps involved with getting Hudson to deploy a Grails application to a remote Tomcat server.

Grails & Hudson Part 4: Automated Deployment

Tomcat First up you’ll need to ensure that Tomcat has the manager application installed (e.g. on Debian Lenny the tomcat5.5-admin package on stable) and that $TOMCAT_HOME/conf/tomcat-users.xml has been configured with a manager user e.g. <tomcat-users> <user name="admin" password="top_secret_password" roles="admin,manager" /> </tomcat-users> Note: You can also digest the password & configure the realm to use digest passwords… Update: see this post. Hudson Back in Hudson, you’ll need to install the Deploy plugin. This follows the same process that we covered in part 2 of this series (we’ll omit the screenshots this time): In your Grails job, we need to instruct the Grails builder to package a war file, but first we’ll set the Grails application version number using the Hudson build number for traceability.

Automated deployment of node.js apps – Carbon Silk - Developing ideas by James Broad. This article has a simple aim to improve the process of developing and deploying node.js web applications.

Automated deployment of node.js apps – Carbon Silk - Developing ideas by James Broad

Hadoop/HBase automated deployment using Puppet at hstack. Introduction Deploying and configuring Hadoop and HBase across clusters is a complex task.

Hadoop/HBase automated deployment using Puppet at hstack

In this article I will show what we do to make it easier, and share the deployment recipes that we use. For the tl;dr crowd: go get the code here. Cool tools Before going into how we do things, here is the list of tools that we are using, and which I will mention in this article. Hudson – this is a great CI server, and we are using it to build Hadoop, HBase, Zookeeper and moreThe Hudson Promoted Builds Plug-in – allows defining operations that run after the build has finished, manually or automaticallyPuppet – configuration management tool We don’t have a dedicated operations team to hand off a list of instructions on how we want our machines to look like.

History When we started with hstack, we did everything manually – created users, tweaked system properties and deployed Hadoop/HBase. Automated Deployment and Software Development Solutions. Automated Deployment with Maven - going the whole nine yards. Octopus, an automated deployment solution for .NET applications - Paul Stovell.

A few weeks ago I posted some screenshots of an application I'm working on.

Octopus, an automated deployment solution for .NET applications - Paul Stovell

A few people guessed, rightly, that it is a tool for automated deployment. Progress is going well, so I'd like to share some more details, and get your feedback. Octopus is a automated deployment solution for .NET applications, powered by NuGet and designed for convention over configuration. Deploy Web applications and Windows ServicesConfigure your applications automaticallyWorks inside your network or over the internet, securelyTrack and report on how releases are promoted between environments I'm working my way through the SecretGeek 25 things list, and writing plenty of code.

Imagine your development team has been charged with building an intranet web solution. An ASP.NET MVC web siteA SQL Server databaseA Windows Service for performing some long-running tasks The team are working iteratively. Every application has different deployment needs, but they are usually pretty similar: Continuous integration. CI was originally intended to be used in combination with automated unit tests written through the practices of test-driven development.

Continuous integration

Initially this was conceived of as running all unit tests and verifying they all passed before committing to the mainline. This helps avoid one developer's work in progress breaking another developer's copy. If necessary, partially complete features can be disabled before committing using feature toggles. Later elaborations of the concept introduced build servers, which automatically run the unit tests periodically or even after every commit and report the results to the developers. The use of build servers (not necessarily running unit tests) had already been practised by some teams outside the XP community. In addition to automated unit tests, organisations using CI typically use a build server to implement continuous processes of applying quality control in general — small pieces of effort, applied frequently. Capistrano 2.0: Flexible Automated Deployment System. Automated deployment systems: push vs. pull. Requirements 101: Have an automated deployment.

If you don't have an automated deployment, it generally means that you are in a bad position.

Requirements 101: Have an automated deployment

By automated, I mean that you should be able to push a new version out by double clicking something. If you can't get automated deployment script in under an hour, you most certainly have a problem. Sometimes, the problem is with the process, you don't have the facilities to do an automated deployment because parts of the deployment is sitting in people's head (oh, you need to configure IIS to use Xyz with the new version), in other cases, it isn't there simply because people haven't tried.

Yet, automated deployment is one of those things that you can create in isolation, without getting commitment or support from the rest of the team. This is usually the first thing that I do in any project with existing codebase that I come to. It is also a good way of taking care of problems in the process. Also, notice that I am explicitly talking about automated deployment, not about having a build script. Automated Deployment With Phing.