server-tech-blog

Github Actions, ec2 timezone변경

1. 문제상황

2. 해결

     # EB에 CD 하기 위해 추가 작성
      - name: Generate deployment package
        run: |   #|작성하면 명령어를 여러줄 적을 수 있다
          mkdir deploy #깃헙에 있는 서버에 deploy폴더 만들고
          cp build/libs/*.jar deploy/application.jar #아까 자르파일로 구은거 application.jar로 복사
          cp Procfile deploy/Procfile #Procfile을 deploy로 옮긴다
          cp -r .ebextensions deploy/.ebextensions #eb~저 파일도 deploy에 이동
          cd deploy && zip -r deploy.zip . #이모든 파일을 dploy.zip으로 압축한다
      - name: Deploy to EB #ELB에 배포하자
        uses: einaregilsson/beanstalk-deploy@v21 #이것도 라이브러리 사용해서 간단하게 배포
        with:
          aws_access_key: $ #밑에서 설명
          aws_secret_key: $
          application_name: aws-v5-beanstalk # 엘리스틱 빈스톡 애플리케이션 이름!
          environment_name: Aws-v5-beanstalk-env # 엘리스틱 빈스톡 환경 이름!
          version_label: aws-v5-$ #버전명이 같으면 안되서 시간넣음
          region: ap-northeast-2 #서울
          deployment_package: deploy/deploy.zip #최종적으로 S3에 접근해서 deploy.zip을 던지겠다

CD부분만 가져왔는데 저기서 .ebextensions에 명령어파일을 하나 더 만들어서 실행 해보자 01_update_timezone.config 만들고

commands:
  01_update_timezone:
    command: "sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime"

명령어를 설정 해 준다 그러면 ebextensions가 deploy.zip으로 명령어가 같이 압축되서 deployment_package에 잘 들어갈 수 있다 현재 시간이랑 잘 맞는다