Terraform module to deploy a scalable, highly-available Jenkins CI/CD server on AWS using Docker, Elastic Beanstalk, and ECR.
terraform-aws-jenkins is a Terraform module that automates the deployment of a scalable and highly-available Jenkins CI/CD server on AWS. It builds a Docker image of Jenkins, stores it in an Amazon ECR repository, and deploys it to Elastic Beanstalk running a Docker stack. The module also sets up a full CI/CD pipeline using AWS CodePipeline and CodeBuild to automatically rebuild and redeploy Jenkins when its source code changes.
DevOps engineers, SREs, and infrastructure teams managing CI/CD pipelines on AWS who want to deploy Jenkins in a scalable, automated, and infrastructure-as-code manner.
It provides a production-ready, fully automated Jenkins deployment on AWS with built-in scalability, high availability, and persistence. The module eliminates manual setup, ensures best practices, and integrates seamlessly with AWS services like ECR, EFS, and CodePipeline.
Terraform module to build Docker image with Jenkins, save it to an ECR repo, and deploy to Elastic Beanstalk running Docker stack
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates AWS CodePipeline and CodeBuild to automatically rebuild and deploy Jenkins from a GitHub repository, ensuring the server itself follows CI/CD practices as described in the README.
Deploys Jenkins on Elastic Beanstalk with Docker, supporting load-balanced environments for automatic scaling and fault tolerance, making it enterprise-ready.
Uses EFS for Jenkins data persistence and includes automated AWS Backup configurations, protecting against data loss as highlighted in the features.
Provisions and configures multiple AWS services like ECR, IAM, and Route53, reducing manual configuration effort and ensuring seamless integration.
Entire deployment is managed via Terraform, enabling version control, reproducibility, and easy collaboration, aligning with the SweetOps philosophy.
Requires familiarity with Terraform, AWS services, and the Cloud Posse module ecosystem, which can be overwhelming for teams new to these tools.
Heavily relies on AWS-specific services like Elastic Beanstalk and EFS, making migration to other clouds or on-premises environments difficult and limiting flexibility.
Depends on several other Cloud Posse Terraform modules (e.g., for ECR, EFS, CICD), which might introduce versioning issues or complicate customizations and updates.
Focuses on basic deployment; advanced Jenkins plugins or configurations may require manual intervention post-deployment, as the module does not cover all Jenkins setups.