Using Nucleator for Continuous Integration and Delivery
Nucleator's CI and Delivery process is made up of the following steps:
Build the Application
For Java applications, the "Build Beanstalk App" will checkout the latest code and run the unit tests. This could be setup to run on each check-in to the Git repository. For Python applications, this step is not present.
Deploy Release to Repository
On request or periodically, the Nucleator UI can build deployment artifacts and deploy them to the binary repository (Artifactory) using the Jenkins project "Deploy app to Repo". For Java projects, this means it runs Maven targets 'clean' and 'package'. For Python projects, it creates a zip file of the source code repository contents. In each case, it then deploys the artifact to the repository.
You can validate that the application was built and deployed to the Artifactory repository:
Deploy Release to Container
When you are ready to deploy a release, run the "Deploy to Container" project for that application. You will select the Cage, target environment and release version. NOTE: The deployment target environment MAY NOT have been provisioned even though the Cage is in this list. You should make sure to first run the "Create Beanstalk Container for Your Application" project to provision and configure the deployment target environment.
This will let you select an artifact from the Artifactory repository and send it to the selected Customer/Cage.
Verification on AWS Console
Once the application has been deployed, you can check the status in the AWS Console by checking on the Elastic Beanstalk instances:
By clicking on the environment name, you can see the deployment history for the environment and verify that in fact version 2.0 was deployed:
Viewing the Application
From the console, if you click on the application link (elb-UnitTestContainer-build-47lining-com.elasticbeanstalk.com in this case), you can browse to the application itself. The application will also have a custom url, which in this case would be 'http://unittestcontainer.build.47lining.com
Next: Managing Nucleator Stacksets, Cages, and Manually Created AWS Resources