Automated Deployment
< XebiaLabs
< phbree
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. 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
This is a quick post to describe the steps involved with getting Hudson to deploy a Grails application to a remote Tomcat server. 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):
This article has a simple aim to improve the process of developing and deploying node.js web applications. The Continuous Integration folks will refer to what I am covering as an aptly named Automated Deployment . As you explore this guide you will learn:
Introduction Deploying and configuring Hadoop and HBase across clusters is a complex task. 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 .
Octopus is an convention-based automated deployment solution for .NET applications, and my first MicroISV. A few weeks ago I posted some screenshots of an application I'm working on. 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.
Continuous integration ( CI ) is the practice, in software engineering , of merging all developer workspaces with a shared mainline several times a day. It was first named and proposed as part of extreme programming (XP).
Capistrano 2.0: Flexible Automated Deployment System By Hendy Irawan / July 22, 2007 Capistrano is a deployment system written in Ruby by Jamis Buck . It has been the de facto standard for deploying Rails applications and automating remote tasks via SSH.
Rather than deploy by hand , use software tools to automatically deploy and configure systems. This can be fully automated, or a mixture of automated deployment and manual deployment Features
I've been immersed in the world of automated deployment systems for quite a while. Because I like Python, I've been using Fabric , but I also dabbled in Puppet . When people are asked about alternatives to Puppet in the Python world, many mention Fabric, but in fact these two systems are very different.
If you don't have an automated deployment, it generally means that you are in a bad position. 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.