HTML and CSS Reference
environments can become laborious and prone to human error. You might also
have to perform tasks for each environment, such as CSS precompiling,
You can offload much of this to a deployment application such as Capistrano.
Capistrano will allow you to write deployment scripts for each environment and
deploy your application with a single command to any environment. Capistrano
also allows you to roll back any changes to a previous working version, as with
every deployment, Capistrano will store a copy of each version so that you can
roll back at any time.
Continuous Integration Server
The glue that combines all of these applications and practices together is a
good continuous integration environment. A continuous integration environment
will detect changes in your application's code and automatically build and
deploy it, as well as perform other tasks. This means that you can concentrate
on producing a world-class web application and leave the repetitive deployment
and testing tasks to the continuous integration server.
The continuous integration server of choice for this topic is Atlassian's Bamboo.
This product has been chosen because it's easy to install, has many plugins, it's
easy to set up, and is compatible with Atlassian's other popular software
development tools, such as JIRA, Crucible, and FishEye.
Your First Continuous Integration Project
Creating a continuous integration project for the first time can be quite
laborious. You'll begin by first creating a new project in Aptana Studio 3. To do
this, open Aptana Studio and go to File
Web Project. Name the
project ci .
Create a new folder within the project called js . Inside this folder, create two
file called calculator.js by going to File
File. You won't add anything to
this yet. TDD (Test Driven Development) states that you must write your unit
tests first, so that they fail before you write your code. This means that all of
your expected outcomes are written in tests, so that your code satisfies them as
you write your code. It's a good practice. As you write your logic rules in unit
tests, it doesn't matter how you implement your final code, as long as the output
satisfies the unit tests.