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 |