Deploying web software in an agile way

Deploying web software in an agile way


During the intensive software development phase, updates in code are made to codebase frequently.

These updates need to be deployed to test environment as soon as possible so that developer and tester can verify the change in the test environment. This article will elaborate on two different ways of pushing these updates to the test environment.

The first way is called the “one package” way. With this approach, the deployment team usually builds

the whole codebase to binary code in one shot.  The codebase might include changes in Front-end( HTML, image,CSS files etc), logical layer, data access layer, database initialization scripts, stored procedures, XML configuration files, etc.  then the deployment team will copy this whole set of the package in one shot to test environment or production environment.

 The advantages of this way of deployment are that it is straightforward. It doesn’t entail much interaction

between the deployment team and the developer who made the code change.

The disadvantages of this way, however, is that it takes a long time. The whole process above takes half an hour if not one for a moderately large software project. Thus this process can not be done quite often during one working day (often once or twice a day) because we don’t want to bring too much down-time to the test environment. For a large project that requires frequent deployment, we need a more agile way to deploy. There goes the agile way to deployment.

The agile way of deployment, it also means “incremental deployment”. With this way, usually, the developer who makes the code change will provide deployment guidance. The developer will query a new build with the help of a continuous build tool(Microsoft Team foundation server or Jenkins).

The developer will create a package of the binary files that are needed to be changed in the test environment. The deployment team will take this package and the deployment guidance and only deploy the incremental package. This approach of deployment usually only takes a couple of minutes.

The advantage of this agile way is that it is quick. It doesn’t do the unnecessary copy. It separates the build of binary files from deployment.  The key is the separation of the generation of deployment

package(done by developers) and the deployment itself (done by deployment team).

The two approaches can be used in combination to accelerate the deployment process from

development to test environment.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了