This is the test architecture for bigfoot, the non-cloud version of ODE. While these tests run in the cloud, bigfoot isn’t intended for cloud deployment. So this is a minimalist, simple architecture rather than a comprehensive high-security and high-availability architecture.

Architecture diagram

Test Architecture Diagram

There is one cloud computing resource that is configured with Jenkins and DBFit.   It can be contacted by and configured from the Bastion, but ordinarily it operates on a schedule rather than as a result of outside input.

If we have an existing VPC, then this can be deployed there, in order to avoid the overhead of creating a new VPC and Bastion.  Or a new VPC can be created.  The Bastion only needs an SSH client and a web browser.

How does it work?

Order of Operations

Order of Operations

  1. The Jenkin’s built-in timer triggers a build periodically.  We can set this to as often as every minute.
  2. The build is configured to contact bitbucket.  It does so.  If there have been no changes, the build stops and none of the following steps are performed.
  3. If there have been changes Jenkins pulls the changes from bitbucket into its local copy.  It then runs the ANT script from bitbucket which deletes the ODE install from the RDS SQL Server and re-installs ODE.
  4. Once the build is finished, either success or failure, Jenkins runs the test suite in DBFit for which it has been configured.
  5. DBFit connects to the SQL Server RDS database and runs the tests.
  6. Jenkins collects all of the output and either emails the project contact with a success message, or the most recent person to commit to git with a build failure message.