Skip to content

자동배포 설정하기

SeungChulNa edited this page Feb 15, 2022 · 24 revisions

자동배포하는 방법에 대한 페이지입니다. 아래와 같은 기술을 사용합니다.

  • 젠킨스
  • AWS의 S3
  • AWS의 CodeDeploy 해당 작업전에 준비해야 하는 사항은 아래와 같습니다.
  • 웹애플리케이션을 배포할 EC2 인스턴스

자동배포 요약

  1. 로컬PC에 젠킨스를 도커로 설치합니다.
  2. AWS S3 버킷과 해당 권한을 가진 AWS IAM Role을 생성합니다
  3. AWS CodeDeploy 애플리케이션을 등록합니다
  4. 젠킨스 플러그인을 설치합니다.
  5. 젠킨스에서 배포 스크립트를 생성합니다.

자동배포 상세

자동배포 상세

1. 젠킨스를 도커로 설치합니다.

  • 링크에서 젠킨스의 도커 이미지를 pull받습니다.
    이때, 그냥 jenkins를 받으면 안되고, jenkins/jenkins:lts로 받아야 합니다.
  • pull 받은 이미지를 가지고 젠킨스 컨테이너를 생성합니다.
    반드시 컨테이너의 8080포트에 로컬PC의 포트를 매핑해줘야 합니다. 이 주소로 젠킨스 페이지에 접속하기 때문입니다.
    아래의 경우 http://localhost:48080으로 젠킨스에 접속하게 됩니다. image
  • 젠킨스 컨테이너로 진입해서 자바 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

image

  • 왼쪽 버튼을 클릭해서 플러그인을 설치합니다.
    image
  • 설치 완료를 기다립니다.
    image
  • 설치가 끝나면 젠킨스 계정정보를 물어봅니다. 입력해주고 save and continue버튼을 클릭합니다.

2. AWS S3 버킷과 해당 권한을 가진 AWS IAM USER를 생성합니다

  • S3버킷을 생성합니다.
  • IAM 사용자를 생성합니다.
    • 사용자는 다음의 권한을 가져야 합니다. [AmazonS3FullAccess, AWSCodeDeployFullAccess]
    • 자격증명유형은 액세스키여야 합니다.
      image
    • CSV 파일은 꼭 저장하도록 합니다.
      image

3. AWS CodeDeploy를 위한 IAM Role과 애플리케이션을 등록합니다

  • IAM에서 다음과 같이 ROLE을 생성합니다
    image
  • AWS 관리콘솔에서 CodeDeploy로 이동해서 애플리케이션을 생성합니다.
    image
  • 배포그룹을 생성합니다.
    image

4. 젠킨스 플러그인을 설치합니다.

  • Jenkins관리 > 플러그인 관리 > 설치가능 탭으로 이동한 다음 검색창에 s3 publisher라고 검색하고 설치합니다.
    image
  • codedeploy라고 검색한 다음 설치합니다.
    image

5. 젠킨스에서 배포 스크립트를 생성합니다.

Clone this wiki locally