CI (Continuous Integration)

  • CI는 지속적 통합으로 Build, Test를 실시 해주는 프로세스로 코드 품질의 관리를 위하여 이러한 통합 프로세스를 상시로 실시해 주는것을 CI라고 한다.

CD (Continuous Delivery or Continuous Deploy)

  • 소프트웨어를 신뢰 가능한 수준에서 짧은 주기로 배포하여 관리하는것을 의미한다.

수동으로 개발자가 직접 배포 하다보면 에러 발생의 소지가 있고 잘못 배포시 다시 배포하는 과정의 어려움이 있어 CI/CD를 하기위한 Travis CI, Circle CI, Jenkins 등이 있다. 이중 우린 Jenkins를 통하여 관리하는 것을 해본다.

 

1.EC2 생성

 

EC2를 이용하여 Jenkins를 설치 하려면 제일 먼저 EC2가 필요하다. https://aws.amazon.com/ko/ 사이트에 접속하여 가입 후 EC2를 생성한다.

Linux 서버에 설치를 기본으로 한다. 

이후에 EC2 보안 그룹에서 80번 포트가 열려 있는지 확인한다. 

 

2. Jenkins 설치

 

먼저 yum update 를 통해 최신화 시킨다.

sudo yum update

기본 패키지에는 Jenkins가 포함 되어있지 않다. 따라서 wget을 통해서 jenkins 저장소를 yum 저장소에 다운 받는다.

 

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

그리고 Jenkins 저장소 키를 등록한다.

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

이제 패키지가 저장소에 등록되어 yum install을 하면 된다.

sudo yum install jenkins

install이 끝나면 Jenkins를 실행 해본다.

sudo service jenkins start

위 사진처럼 동작되면 java8 버전을 다운받아야 한다. java8 버전을 다운 받고 난 뒤에 재 실행하면 아래와 같이 나오게 된다.

3. Nginx 설치

 

웹 서버인 Nginx도 설치해야한다.

sudo yum install nginx

설치 이후 

sudo vim /etc/nginx/nginx.conf

설정 파일을 열어서 내리면 아래 코드를 발견 할 수 있다. 그리고 location 부분에 해당 코드를 추가 한다.

proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;

4.Jenkins 설정

이후 해당 EC2의 퍼블릭 DNS(IPv4)를 복사하여 브라우저로 접속하면 아래ㅗ아 같은 화면이 나오게 된다.

패스워드는 cat으로 확인할 수 있다. 아래 코드를 작성하면 패스워드가 나오게 되는데 그 패스워드를 붙여넣기 하면 된다.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

그러면 아래와 같은 화면을 볼 수 있다. 그리고 jenkins에서 추천하는 플러그 인을 설치한다.

로그인 할 계정도 가입한다.

그럼 끝이다.

'AWS' 카테고리의 다른 글

[AWS] jenkins와 github 연동  (0) 2020.02.20
[AWS] AWS(Amazon Web Service) Cloud Computing의 기초  (0) 2020.01.27
[AWS] 데이터 베이스(Database)  (0) 2020.01.27
[AWS] MySQL 과 AWS RDS 연결  (0) 2020.01.27

+ Recent posts