포트폴리오/AWS CICD 6

무중단 배포(nginx)

1.nginx -> springboot 프록시 테스트ec2에 nginx 설치ngingx config에 80포트 -> 8081 스프링부트 포트로 전달profile API 추가 2. 8081 8082 API 만들기profile API 테스트SecurityConfig test -> antmatcher가 없으니 별도 진행xnginx에 로케이션 변수 넣어주기3. 배포 스크립트 작성profile.shstop.shstart.shhealth.shswitch.shpom.xml에 자동 버전 변경 추가4. 테스트  sudo service nginx start-> ec2에서는 정상 실행되지만 아무것도 안 뜬다-> ec2 인바운드 규칙 추가-> nginx는 기본 포트가 80도메인이므로 포트번호 안쓰고 접속 -> 엔진엑스 메인..

Travis CI + S3 + Codeplay

1. Travic CI 가입(서드파티 활성화) 2. travis.yml 추가 -> 깃헙과 트래비스 연동깃헙 푸쉬시 travis 반응 확인3. travis- AWS s3 연동IAM 발급 (액세스 키 별도생성)travis ci에 키 등록(.travis.yml에서 사용가능)S3 버킷 생성.travis.yml에 버킷 추가(git push -> travis CI) -> "s3"에 zip 생성되는 흐름 확인4. CODEDEPLOY EC2가 받을 수 있게 IAM 역할 추가ec2 터미널에서 codedeploy 에이전트 설치codedeploy -> ec2 권한codedeploy, 그룹 생성 + ec2태그 매치 5. 조립appspec.yml 에 ec2 경로 설정.travis.yml에 codedeploy provider추가..

EC2 배포

메인서브1. EC2에 git 설치maven / java / javac 추가 설치 2. 배포 스크립트 만들기gradle -> maven 컴파일 명령어 변경nohup 오류 처리java 환경변수 / sudo us 권한git pull부터 전부 하지말고 디버깅하듯이 한줄로 배포 검증하기  3. 스프링부트 프로젝트로 RDS 접근  - 1. 배포 스크립트 작성책에서 gradle -> maven은 빌드가 아닌 package임 주의 원본 참조 : https://velog.io/@shawnhansh/AWS-EC2%EC%97%90-SpringBoot-gradle-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8jar-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0#!/bin/bashREPO..

터미널 명령어

(공통)mkdir ~/app/cd ~/apprm엘엘 -> 현재 디렉토리 chmod +x (파일) -> 퍼미션 부여 (ec2에 깃)sudo yum install gitgit —versiongit clone (깃헙 https 리포지토리 주소)git pull (vim)vim ~/ -> 자동 만들어짐파일 내부 s -> 편집 모드esc -> 보기 모드:wq -> 저장 후 빠져나옴:q -> 그냥 빠져나옴ec2에 java (maven)sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.reposudo sed -i s/\$releasever/6/g..

EC2 RDS 연결

1. RDS 인스턴스 생성 EC2와는 연결 바로 하지 않고 나중에 하기  2. 파라미터 셋업  편집에서 time_zone 맙추기  슬래쉬로 해야 완성  Character 6개 : utf8mb4 -> 이모지 쓸수있게 변경collation도 변경해줘야횜 파라미터 그룹 후 별도 적용해야함 수정 -    https://repost.aws/ko/questions/QU7w-RT1AHRr6JiZPrsteGHQ/rds-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-time-zone-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EB%B3%80%EA%B2%BD%EB%B6%88%EA%B0%80 https://superuser.com/questions/635269/cant-find-..

EC2 개설

1. 인스턴스 생성2. elastic ip 연동해주기3. pem키 다운 및 config 설정4. 터미널에서 실행 -> ec2모드 진입5. 자바 설치  6. 타임존 맞추기  7. ip 대신 HOSTNAME으로 표시되도록 설정 ->  vim -> s를 눌러야 insert 모드로 진입함맥북에서 파일을 터미널에 끌어오면 주소 복사됨pem key로 connecting할때 해당 메세지는 오류가 ㅏㅇ님 커넥션 등록 후 한번 더 실행할것 비둘기는 아니다.