> For the complete documentation index, see [llms.txt](https://terraform201.devart.tv/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://terraform201.devart.tv/5.-jenkins/jenkins-1.md).

# Jenkins란

## Jenkins란?&#x20;

Jenkins는 Application 빌드(CI) 및 배포(CD)를 도와주는 오픈소스 툴입니다. Jenkins를 사용하면 Github와 손쉽게 연동하여 코드를 배포할 수 있습니다. 본 실습에서는 Jenkins를 EC2 인스턴스에 배포하고, AWS Codebuild를 연동하여 배포를 하는 구조를 만들어보고자 합니다.

<https://aws.amazon.com/blogs/devops/simplify-your-jenkins-builds-with-aws-codebuild/>

![](/files/-MSsAnEkvSpXI6zR3jdH)

Jenkins를 배포하기 위한 기본 구조는 아래와 같습니다.

* Application Load Balancer + Autoscaling Group을 통해서 인스턴스를 생성합니다.
* Userdata는 `terraform template`파일을 통해 추가합니다.
* Jenkins에서 생성되는 data파일은 유실되면 안되는 중요한 정보가 많기 때문에, Amazon EFS를 생성해서 `/var/lib/jenkins` Directory에 마운트합니다.
