1.3.0 • Published 2 years ago

@teamapdan/deplate v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Deplate

Deplate는 개발자를 위한 CI/CD 템플릿입니다. CI/CD를 위해 Github Action 과 Docker Hub를 사용하기로 결정했다면 Deplate를 사용해보세요. Github Action 작성에 익숙하지 않거나 사이드 프로젝트를 배포할 때 유용합니다.

필독사항

이 프로젝트를 실행하기전에 아래 사항들을 확인하세요

  • 배포에 필요한 서버에 ssh로 접속할 수 있나요?
  • Docker Hub 계정이 준비되어 있나요?
  • 루트 디렉토리에 Dockerfile이 만들어져 있나요?
  • Dockerfile에서 사용할 포트가 ssh서버에서 열려 있나요?

사전설정

이 템플릿은 두개의 workflow로 되어있습니다. 각 workflow에서는 보안을 위해 Github secrets을 참조하고 있습니다. 이 패키지를 실행한 후, 정상적인 동작을 하려면 아래의 Github secrets를 모두 만들어 주셔야 합니다.

👉 Github Secret을 설정하는 방법을 모른다면?

이름설명필요여부
DOCKER_USERNAMEDocker Hub 계정의 유저이름필수
DOCKER_TOKENDocker Hub 계정의 토큰 혹은 비밀번호필수
DOCKER_IMAGEDocker Hub에 등록된 image 이름필수
DOCKER_PORT배포할 서비스가 사용하는 포트필수
SSH_IPssh를 통해 접속할 서버의 ip 주소필수
SSH_ACCESS_KEYssh를 통해 서버에 접속할 때 필요한 key필수

설치

이 패키지는 npm을 통한 설치가 필요 없습니다. npx 명령을 사용하세요.

사용법

사용법은 아주 간단합니다! 아래 명령어를 실행합니다.

npx install @teamapdan/deplate

이후 몇가지 질문에 대한 답변을 입력하면, workflow파일이 생성됩니다. 질문 목록은 아래와 같습니다.

  • Docker Image를 Docker Hub에 Push하는 workflow에 대한 파일 이름
  • Docker Image를 Docker Hub에 Push하는 workflow의 이름
  • Docker Image를 Docker Hub에 Pull하는 workflow에 대한 파일 이름
  • Docker Image를 Docker Hub에 Pull하는 workflow의 이름

파일이름은 아래와 같은 형식이여야 합니다. push workflow와 pull workflow의 파일이름이 겹치면 안됩니다!

filename.yml or filename.yaml

구조

각 workflow들의 의존성은 아래 그림과 같습니다.

workflow step

Changelog

1.1.0

  • Docker Hub에 image를 push해주는 workflow 생성
  • SSH에 접속해서 docker image를 pull한 뒤, 컨테이너를 재실행 해주는 workflow 생성

will be soon

  • 각 Framework 혹은 Package Manager에 따른 CI workflow 생성
  • 각 Framework에 따른 Default Dockerfile 생성