hi everybody my name is tim muting i'm
with ca technologies today i've got
dan o'brien here with me one of our
resident experts around ca
release automation we're going to show a
little demonstration here dan what are
we going to see today
so today we're going to show a rollback
use case using release automation
so essentially when you deploy an
application or change to an application
into an environment
if there's any error along the way we
have the ability to automatically roll
back to a previously known good state
very good well let's see how it works
okay
okay so in this one we're going to show
how ca release automation handles
rollbacks
so in this case we're looking at the
ticket exchange application
and there's a number of different
templates that we've published so let's
go ahead and run
presentation tier update and essentially
what this does is this piece
just updates the web front end for the
application so let's go in here we'll go
ahead and create a release
and we'll just call it the forwarding
site that we have set up
we'll give it a version like 1.7
and then we can choose the environment
that we want this update to be applied
to so we'll leave it as development
so we'll go ahead and create that
release and once we create the release
the first thing that always happens is
we have an initialization step and that
just checks to make sure that we have
the right
artifacts and the right versions are
available within the within these
repositories whether it be subversion or
git
or what have you and we also stage the
proper servers for this
development environment so reading in
that manifest file everything's checks
out
now before i go ahead and run this or
schedule it you'll notice that
the deployment is one step which is just
to deploy the presentation updates
okay post deploy is a simple lisa
service virtualization test case that
will run a quick smoke test
and then there's a rollback tab and the
rollback plan
um it could be defined before we you
know with the release but we can also
define it
as we go so in this case if i click
define
what will happen is i can say either
manually you know invoke the release if
there's any kind of a failure
or we can do it just automatically based
on failed condition so we'll set it to
automatic
and we have the option here of choosing
any one of the previous releases
for this front end that have been
successfully deployed so we know that
we're going to go back to a known good
state
so let's just choose this one here 1.2.2
we'll go ahead and save that okay now
we'll go ahead and run the release
now when the release runs if there's a
failure in the deployment
it will automatically invoke that
rollback so let's take a look so it's
updating the presentations here now
and it's going through the post
deployment and it looks like on the post
deployment side there actually were
errors
okay so we see we have some error
executing that test
so if you look here you see where it
says the rollback is currently running
because we have an automatic invocation
so if i go to rollback
you can actually see that it is
completed and it and it
uh the rollback is is currently active
so now that succeeded
okay so now if i go and i look at my
releases if i go to all the recent
releases you can actually see where
we were sitting at 1.2.2
we went to go update our presentations
here to 1.7 and
failed and then we ultimately went back
to 1.2.2 based on that configuration and
that succeeded
so we have a full audit trail of exactly
what version was deployed in what
environment we can see what
succeeded or failed and we can see the
results of a successful rollback
yeah that was pretty cool so um we saw
rollback we were able to roll back from
some sort of error what are the typical
errors that you see
in in a process like this yeah i mean
the errors could could vary widely from
you know when we do the initialization
phase and we're looking for
particular servers and particular
artifacts to be available sometimes
between the initialization phase and the
deploy
they go offline something is missing
something goes wrong so those are the
kind of things we typically see
and we have the ability to roll back to
a previous known
build or we can even roll back
incremental within the current field
to exactly where we want to be before
that ever occurred sounds very powerful
for more information more demonstrations
around ce release automation
please take a look at ca.com