Skip to content

CI/CD 파이프라인 #6

@codesejin

Description

@codesejin

빌드의 주체

  • GithubAction
    • 장점
      • 클라우드에서 동작하기 때문에 어떤 설치도 필요없습니다.
      • 비교적 구현이 간단하고, Github 레포지토리와 직접 연동하여 설정할 수 있습니다.
    • 단점
      • Github이외의 코드 저장소(예 : SVN, Bitbucket, GitLab)를 사용하는 경우 구현이 어려울 수 있습니다.
      • 퍼블릭 Github에서는 Github Action이 지원되지만, 기업용 버전인 엔터프라이즈 버전에서는 Github Action을 도입하기가 어렵습니다.
  • Jenkins
    • 장점
      • 오랜 시간 동안 사용되어왔기 때문에 풍부한 기능과 플러그인을 제공합니다.
      • 맞춤 설정이 가능하며, 복잡한 빌드 및 배포 프로세스를 자유롭게 구축할 수 있습니다.
    • 단점
      • 보안에 취약하며, 전용 서버를 구축해야 한다는 번거로움과 추가적인 비용문제가 있습니다.

배포의 주체

  • FTP
    • 장점
      • 간단하고 직관적입니다
    • 단점
      • 보안 및 안정성이 낮을 수 있습니다.
      • 파일 버저닝이 되지 않아서 배포 실패 시 RETRY를 구현하기가 까다롭다
  • 공유저장소(S3, Docker hub 등)
    • 장점 : 안정적이고 안전한 배포를 보장합니다
      • 스케일링과 관리가 용이하며, 다양한 옵션과 설정이 제공됩니다
    • 단점 : 초기 설정이 복잡할 수 있으며, 클라우드 서비스(S3) 사용 시 발생할 수 있습니다,

Githu뿐만 아니라 다른 코드 저장소에서도 활용할 수 있고, 다양한 플러그인을 사용할 수 있는 Jenkins를 선택했습니다.
배포 주체의 경우 파일 버저닝이 가능하기 때문에 rollback 이 가능한 Docker Hub를 선택했습니다.

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions