-
Notifications
You must be signed in to change notification settings - Fork 0
자동배포 설정하기
SeungChulNa edited this page Feb 15, 2022
·
24 revisions
자동배포하는 방법에 대한 페이지입니다. 아래와 같은 기술을 사용합니다.
- 젠킨스
- AWS의 S3
- AWS의 CodeDeploy 해당 작업전에 준비해야 하는 사항은 아래와 같습니다.
- 웹애플리케이션을 배포할 EC2 인스턴스
- 로컬PC에 젠킨스를 도커로 설치합니다.
- AWS S3 버킷과 해당 권한을 가진 AWS IAM Role을 생성합니다
- AWS CodeDeploy 애플리케이션을 등록합니다
- 젠킨스 플러그인을 설치합니다.
- 젠킨스에서 배포 스크립트를 생성합니다.
-
링크에서 젠킨스의 도커 이미지를 pull받습니다.
이때, 그냥jenkins
를 받으면 안되고,jenkins/jenkins:lts
로 받아야 합니다. - pull 받은 이미지를 가지고 젠킨스 컨테이너를 생성합니다.
반드시 컨테이너의 8080포트에 로컬PC의 포트를 매핑해줘야 합니다. 이 주소로 젠킨스 페이지에 접속하기 때문입니다.
아래의 경우http://localhost:48080
으로 젠킨스에 접속하게 됩니다. - 젠킨스 컨테이너로 진입해서 자바 11을 설치해줍니다.
docker exec -itu 0 jenkins-container /bin/bash
apt-get update
apt-get install openjdk-11-jdk
- vim도 설치해주도록 합니다.
apt-get install vim
-
http://localhost:48080
으로 접속하면 다음과 같은 페이지를 볼 수 있습니다.
지시사항대로/var/jenkins_home/secrets/initialAdminPassword
으로 이동해서 비밀번호를 가져오도록 합니다.
view 명령어로 파일을 읽기전용으로 열고, 안의 내용을 복사해서 로그인 페이지에 입력합니다.
view /var/jenkins_home/secrets/initialAdminPassword
- 왼쪽 버튼을 클릭해서 플러그인을 설치합니다.
- 설치 완료를 기다립니다.
- 설치가 끝나면 젠킨스 계정정보를 물어봅니다. 입력해주고 save and continue버튼을 클릭합니다.
- S3버킷을 생성합니다.
- IAM 사용자를 생성합니다.
- 사용자는 다음의 권한을 가져야 합니다. [AmazonS3FullAccess, AWSCodeDeployFullAccess]
- 자격증명유형은 액세스키여야 합니다.
- CSV 파일은 꼭 저장하도록 합니다.
- IAM에서 다음과 같이 ROLE을 생성합니다
- AWS 관리콘솔에서 CodeDeploy로 이동해서 애플리케이션을 생성합니다.
- 배포그룹을 생성합니다.
- Jenkins관리 > 플러그인 관리 > 설치가능 탭으로 이동한 다음 검색창에 s3 publisher라고 검색하고 설치합니다.
- codedeploy라고 검색한 다음 설치합니다.