[AWS] EC2 배포

왕감자·2025년 3월 3일

2025 내일배움캠프

목록 보기
11/39

Github + AWS 연동 > CI/CD 구성

서버 접속

  • 키파일을 소유자만 읽을 수 있도록 설정해서 보안성을 유지
    chmod 400 키파일

  • AWS EC2 인스턴스에 SSH로 접속
    ssh -i 키파일 퍼블릭IPv4DNS


서버 설정

  • EC2에 JDK 설치
    sudo yum install -y java-17-amazon-corretto-devel
# Docker 설치
sudo yum install docker

# Docker 서비스 시작
sudo systemctl start docker

# Docker 서비스 작동 상태 확인
sudo systemctl status docker

# Docker 서비스를 운영체제 부팅시 자동 시작하도록 설정
sudo systemctl enable docker

# docker 명령어를 sudo 없이 사용하기 위해 계정을 docker 그룹에 소속 (계정 재접속 필요)
sudo usermod -aG docker ec2-user

# docker-compose 설치
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

# 권한 부여
sudo chmod +x /usr/local/bin/docker-compose

Actions Secrets에 Key 등록

  • SSH_HOST : 퍼블릭 IPv4 DNS
  • SSH_KEY : key pair 파일 (.pem)

Github Actions Workflow 설정

  • 작업 순서
    • 코드 checkout - JDK 설정 - gradlew 실행 - jar 파일 전송 - jar 파일 실행

      - name: copy jar to server
        uses: appleboy/scp-action@master
        with:
          host: ${{ secrets.SSH_HOST }}
          username: ec2-user
          key: ${{ secrets.SSH_KEY }}
          port: 22
          source: "./build/libs/*.jar"
          target: "~"
          strip_components: 2

이 jar 파일을 만들어서 서버에 복사


서버 접속

http://퍼블릭IPv4DNS:8080
접속해도 접속 안 됨 - AWS의 Security 그룹을 설정하지 않았기 때문

👌 접속 완

0개의 댓글