ec2 환경에서 도커 스크립트 작성

Jenkins에서 GitHub Actions로 CI/CD 도구를 변경하면서 배포 스크립트는 동일하게 유지되지만, 각 도구에서 스크립트를 실행하는 방식이 달라 배포 스크립트를 다시 작성해야 했다.

이를 해결하기 위해 배포 스크립트를 별도로 관리하고, CI/CD 워크플로우에서 해당 스크립트를 실행하도록 변경해보고자 한다.

 

현재 배포 스크립트는 밑과 같다.

          script: |
            docker pull jaew0n/thiscoding:latest
            docker rm -f thiscoding-container || true
            docker run -d \
              --name thiscoding-container \
              --restart unless-stopped \
              -p 8080:8080 \
              -v thiscoding-data:/app/data \
              jaew0n/thiscoding:latest
            docker ps | grep thiscoding-container

 

단순하지만 전체적인 워크플로우를 보면 한 줄로 관리되는 다른 작업과 달리 유독 길다.

 

위에서 말한 거처럼 배포 스크립트로 관리하기 위해 배포에 사용되는 ec2에 들어가서 배포 스크립트를 만들어 보겠다.

 

배포 스크립트 생성

먼저 ec2로 들어가 배포 스크립트를 만들자

 

    1. 배포 디렉토리 만들기 -> mkdir deploy
    2. 배포 스크립트 파일 만들기
      1. cd deploy
      2. vim deply.sh
    3. 배포 스크립트 작성

 

4. 작성 후 cat deploy.sh를 입력하여 잘 작성이 된지 확인한다.

 

 

워크플로우에 적용

          chmod +x /home/ubuntu/deploy.sh  # 실행 권한 부여
          bash /home/ubuntu/deploy.sh      # 스크립트 실행

 

전과 비교했을 때 확실히 깔끔해지고 CI/CD 툴을 변경하게 되더라도 스크립트 실행만 시키면 되기 때문에 관리가 더 수월해졌다.