- 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 : 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
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 |
댓글