New: Manage Free Templates for AWS CloudFormation with the widdix CLI

Demo

Jenkins 2.0: highly available master

This template describes a Jenkins master in a highly available manner. If the master instance fails it will be replaced automatically. All data stored on EFS where it is replicated across AZs and the file system can grow without a limit. The Jenkins master sits behind a load balancer to provide a fixed endpoint. Logs from the operating system and Jenkins are pushed to CloudWatch Logs.

Architecture

Installation Guide

  1. This templates depends on one of our vpc-*azs.yaml templates. Launch Stack
  2. Launch Stack
  3. Click Next to proceed with the next step of the wizard.
  4. Specify a name and all parameters for the stack.
  5. Click Next to proceed with the next step of the wizard.
  6. Click Next to skip the Options step of the wizard.
  7. Check the I acknowledge that this template might cause AWS CloudFormation to create IAM resources. checkbox.
  8. Click Create to start the creation of the stack.
  9. Wait until the stack reaches the state CREATE_COMPLETE
  10. Grab the URL of the Jenkins master from the Outputs tab of your stack.

Dependencies

  • vpc/vpc-*azs.yaml (required)
  • vpc/vpc-*-bastion.yaml (recommended)
  • security/auth-proxy-*.yaml
  • operations/alert.yaml (recommended)

Limitations

  • Jenkins will only run in two Availability Zones, even if your VPC stack has more.
  • No backup

Jenkins 2.0: highly available master and dynamic agents

This template describes a Jenkins master in a highly available manner. If the master instance fails it will be replaced automatically. All data stored on EFS where it is replicated across AZs and the file system can grow without a limit. The Jenkins master sits behind a load balancer to provide a fixed endpoint. A dynamic pool of agents will execute builds. If the build queue grows new agents are provisioned. Of the build queue is empty agents are taken offline (only if they have no build running). System and Jenkins logs are pushed to CloudWatch Logs.

Architecture

Installation Guide

  1. This templates depends on one of our vpc-*azs.yaml templates. Launch Stack
  2. Launch Stack
  3. Click Next to proceed with the next step of the wizard.
  4. Specify a name and all parameters for the stack.
  5. Click Next to proceed with the next step of the wizard.
  6. Click Next to skip the Options step of the wizard.
  7. Check the I acknowledge that this template might cause AWS CloudFormation to create IAM resources. checkbox.
  8. Click Create to start the creation of the stack.
  9. Wait until the stack reaches the state CREATE_COMPLETE
  10. Grab the URL of the Jenkins master from the Outputs tab of your stack.

Dependencies

  • vpc/vpc-*azs.yaml (required)
  • vpc/vpc-*-bastion.yaml (recommended)
  • security/auth-proxy-*.yaml
  • operations/alert.yaml (recommended)

Limitations

  • Jenkins will only run in two Availability Zones, even if your VPC stack has more.
  • Stack updates only work if no agents are running. Scale to zero agents before you update the stack!
  • No backup