This blueprint repository allows you to easily deploy Jenkins and connect it to your Cloudshell Colony account. After deployment, this Jenkins instance can be immediately used to launch your pipelines against environments provided by Colony. It comes with a sample pipeline, so that you will have an entry point from which you can start modeling your CI/CD flows using Jenkins and Colony.
This blueprint deploys a Sandbox using Jenkins. Its flow comprises the following steps:
- Deploy Jenkins
- Install Colony's Jenkins plugin and dependencies
- Configure a connection between Colony and Jenkins
- Create a sample demo pipeline
A demo blueprint used by the predefined pipeline in Jenkins. Deploys a sandbox with a sample app consisting of back end, front end, and database components.
- Only AWS cloud provider is currently supported
- Before using this solution, you need to have an S3 bucket to store artifacts built by the sample Jenkins job
- You also need to create an IAM role (for EC2 service) that has write permissions for your S3 bucket, and configure it with write permissions to your S3 bucket
Go to Settings > Cloud Accounts and link your AWS account. Then, in the Integrations tab, set your S3 bucket as the artifacts repository.
In your space, go to Settings > Blueprint Repositories and connect this repo as the Blueprint Repository for Sandbox Environments. If you want to experiment with the code and make some changes, fork it and connect your own repository.
Go to Blueprints and publish both Jenkins and Promotions Manager blueprints in the Space Blueprints list.
You may now start working with the Jenkins blueprint.
Now you are ready to launch a sandbox with Jenkins on the Sandbox Environment page.
Jenkins Blueprint has the following list of input parameters:
-
AWS_INSTANCE_TYPE
- specify the AWS instance type according to the required size (default ism5.large
). -
JENKINS_ADMIN_PASS
- set the password you will use when logging in to Jenkins with the admin user. Default isadmin
. -
CS_COLONY_TOKEN
- token that Jenkins will use to communicate with Colony. You can generate it on the Settings > Integrations page. -
IAM_ROLE
- IAM role instance profile name you previously created. -
SPACE_NAME
- the name of the space in which Jenkins will run sandboxes. For our purposes, specify the name of your current space.Note: In the future, you might want to create your personal blueprints and configure Jenkins pipelines to use them. These blueprints will probably live in other spaces.
-
BUCKET_NAME
- name of the S3 bucket connected to the space you created for artifacts.
After sandbox deployment, you can log into Jenkins using Quick Link.
n Jenkins, you should see a predefined pipeline configured to run a Promotions Manager blueprint in your Colony space.
The default pipeline loaded with this Jenkins instance will automatically run the following steps:
- Retrieve latest code of the promotion app from Git
- Build artifact package (latest build)
- Upload build to S3 repository
- Deploy the promotions manager application to AWS in a Colony Sandbox
- Run tests
- Terminate the promotions manager application