Jenkins와 AWS Codedeploy를 사용한 배포 전략
June/개발도구

Jenkins와 AWS Codedeploy를 사용한 배포 전략

  1. 사용자가 Devap서버에 src와 src_properties 관련 자료들을 업로드한다.
    src folder : ROOT.war 파일을 저장한다.(ROOT.war : index와 health 파일이 있다. 이는 Tomcat이 제대로 연결되었는지 확인할 수 있는 지표가 된다.)
    src_properties : 사용자가 정의한 기능들의 속성파일들이 담겨 있다.(properties / .xml (xml은 사용자 임의 태그가 사용가능한 텍스트기반 Markup language))
    해당 폴더에 있는 파일들을 통하여 기능의 추가/수정/삭제가 이뤄진다.

  2. 사용자의 데이터가 Devap1서버에 저장되면 실시간으로 Devdb1과 동기화가 이뤄진다.
  3. 젠킨스에서 배포를 위한 버튼 'RUN'을 누르게 되면 젠킨스내부에서 Build가 진행된다.
  4. 빌드 내용은 Devdb에 있는 instanceName을 참조하여 src폴더 및 src_properties폴더를 aws S3에 업로드하라는 코드이다.
  5. 코드디플로이를 통한 배포가 이뤄지게끔 Trigger 역할
  6. 코드디플로이 배포를 위해 AWS S3에 접근한다.(midasit-pr-s3-deployment/deployment-descriptor/<name>)
    <name.zip scripts information>
    stat_server → tomcat start
    validate_service → port info & tomcat health check
    install-dependency → 기존 ROOT.war 파일 삭제 && S3로 부터 ROOT 와 소스 다운로드

  7. 사용자가 지정한 서버로 코드디플로이를 통하여 해당 소스들이 배포된다.