본문 바로가기
개발일기

학원 수업 68일차 221125

by hhana 2023. 4. 28.
  • 9-10

jms kafka

Gradle Tasks 탭에서 springWebSecurity05OAuth2 더블클릭 > build 진행
> E:\kdt\spring\springWebSecurity05OAuth2\build\libs 에 두개의 war파일 생성됨
build.gradle 파일에서 bootWar { 
  enabled = false 
} 를 넣어주면 파일이 plain 버전으로 하나만 생성됩니다

 

 

  • 10-11

aws ec2 인스턴스 연결 리눅스 서버 접속
rm -r * (폴더 모두 지우기)
rm *.* (파일 모두 지우기)

다시 src/app/폴더에 springWebSecurity05OAuth2-0.0.1-SNAPSHOT-plain.war넣어주고
jar -xf springWebSecurity05OAuth2-0.0.1-SNAPSHOT-plain.war (압축해제)
/usr/local/apache-tomcat-9.0.69/bin/shutdown.sh (서버껐다가)
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j (리눅스 80 to 8080 포트포워딩) (현재 웹 서비스 실행한 것을 웹 브라우저에서 보려고 하면 :8080 을 뒤에 붙여줘야 한다.
이 포트 번호를 없애려면 어떻게 해야할까?) 
https://catalina.tistory.com/17
/usr/local/apache-tomcat-9.0.69/bin/startup.sh (다시켬)
퍼블릭 IPv4 DNS 주소로 인터넷창에서 접속하면 연결됨
http://퍼블릭 IPv4 DNS

 

 

  • 11-12

aws 도메인 구입
새 도메인 등록 https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/domain-register.html

aws HTTPs 연결
https://brunch.co.kr/@skykamja24/287

war 파일 이름 변경
build.gradle 파일

war{
    enabled = true
    archiveName("myweb.war")
}
bootWar { 
  enabled = false 
}

= myweb.war 라는 이름으로 war파일 하나만 생성됨

 

 

  • 12-1

Github Actions CD: AWS EC2 에 Spring Boot 배포하기
https://bcp0109.tistory.com/363

깃 Actions > Java with Gradle > Configure
git action gradle is not executable 오류 생기니까
springWebSecurity05OAuth2/.github/workflows/gradle.yml 파일에
    - name: permission
      run: chmod +x gradlew
추가하고 커밋

 

 

  • 2-3

IAM > 사용자 > 사용자 추가
액세스 키 - 프로그래밍 방식 액세스 > 다음
> 기존 정책 직접 연결 > codedeploy 검색하여 AWSCodeDeployFullAccess 선택
> s3 검색하여 AmazonS3FullAccess > 만들기 완료
액세스 키 ID AKIAWNGUYAS2XO3XETEZ
비밀 액세스 키 f+m5NXBR7ZIwhAo0lROh23/lvGvGkoK2p6O4+hlu

다시 깃으로 돌아와서 setting > secrets > actions > New repository secret

Name : AWS_ACCESS_KEY
Secret : AKIAWNGUYAS2XO3XETEZ
Name : AWS_SECRET_ACCESS_KEY
Secret : f+m5NXBR7ZIwhAo0lROh23/lvGvGkoK2p6O4+hlu
Name : AWS_REGION
Secret : ap-northeast-2

 

springWebSecurity05OAuth2 / .github / workflows / gradle.yml 파일 수정
맨 아래에

# (4) AWS 인증 (IAM 사용자 Access Key, Secret Key 활용)
    - name: Configure AWS credentials
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
        aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        aws-region: ${{ secrets.AWS_REGION }}

넣어주고 저장
yml 파일은 라인 잘 맞춰야됨!!

CodeDeploy
https://ap-northeast-2.console.aws.amazon.com/codesuite/codedeploy/deployments
> 역할 > 역할 만들기 > AWS서비스, 사용사례: CodeDeploy > 역할이름 my-code-deploy-iam

git -> S3 -> EC2 전달 역할을 code deploy가 해줌

 

 

  • 3-4

EC2 인스턴스 태그 관리
Key         Value
Name AL-ec2
my-ec2
로 수정하기

CodeDeploy > 애플리케이션 > 애플리케이션 생성 > 애플리케이션 이름 : my-code-deploy-app 컴퓨팅 플랫폼: EC2/온프레미스 
배포그룹생성 > 배포 그룹 이름 : my-code-deploy-group > 서비스 역할 입력( my-code-deploy-iam ) 선택 , 배포 유형 : 현재 위치,
환경 구성: Amazon EC2 인스턴스, 키: my-ec2 선택, AWS CodeDeploy 에이전트 설치 : 한번만, 배포 설정 배포 구성: CodeDeployDefault.AllAtOnce,
로드 밸런서: 로드 밸런싱 활성화 체크해제 > 배포 그룹 생성 완료

 

이제 깃 액션가서 등록할게요

애플리케이션 이름 
Name : CODE_DEPLOY_APPLICATION_NAME
Secret : my-code-deploy-app
애플리케이션 배포그룹이름 
Name : CODE_DEPLOY_GROUP_NAME
Secret : my-code-deploy-group
버킷 이름 https://s3.console.aws.amazon.com/s3/buckets?region=ap-northeast-2 
Name: S3_BUCKET_NAME
Secret: gitactions-to-s3-bucket2


Amazon S3에 CodeDeploy의 개정 푸시(EC2 온프레미스 배포 전용)
 https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/application-revisions-push.html

 

 

  • 4-5

springWebSecurity05OAuth2/appspec.yml 파일 만들어줄게요

 

 

  • 5-6

Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치
https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/codedeploy-agent-operations-install-linux.html

'개발일기' 카테고리의 다른 글

학원 수업 69일차 221128  (1) 2023.04.28
학원 수업 67일차 221124  (0) 2023.04.28
학원 수업 66일차 221123  (0) 2023.04.28
학원 수업 65일차 221122  (0) 2023.04.28
학원 수업 64일차 221121  (0) 2023.04.27
학원 수업 63일차 221118  (0) 2023.04.27
학원 수업 62일차 221117  (0) 2023.04.27
학원 수업 61일차 221116  (0) 2023.04.27

댓글