Env.

    CI/CD 구축하기 with Nodejs, Docker, Github Action(2)

    이제 2번째 스텝 1. 프로젝트 생성 및 도커 이미지 빌드 2. github action을 통한 도커 이미지 빌드 자동화 / docker hub에 push 3. aws ec2에 도커 환경 구성하기 / docker hub에서 제대로 받아오는지 테스트 4. github action을 통한 서버 배포까지 자동화 원격 레포지토리 연동 먼저 github에 원격 레포지토리를 하나 생성 후 연동시켜 준다. Github Action Configuration 프로젝트 루트에 .gihub/workflows의 폴더 경로를 추가한 후 yml 파일을 생성한다. 레포지토리 Actions 탭에서 Continuous Integration 항목을 살펴보면, NodeJs 프로젝트를 위해 기본적으로 제공하고 있는 CI 설정 템플릿을 찾을..

    CI/CD 구축하기 with Nodejs, Docker, Github Action(1)

    최근 진행했던 CI/CD 환경 구축 경험을 정리하고자 간단한 node.js 프로젝트의 CI/CD 환경 구축 과정을 남겨보려 한다. 대략적으로 아래와 같은 순서로 진행 1. 프로젝트 생성 및 도커 이미지 빌드 2. github action을 통한 도커 이미지 빌드 자동화 / docker hub에 push 3. aws ec2에 도커 환경 구성하기 / docker hub에서 제대로 받아오는지 테스트 4. github action을 통한 서버 배포까지 자동화 프로젝트 생성 (도커는 이미 설치되어 있다고 가정) 원하는 위치에 디렉토리 생성 -> npm init으로 프로젝트 생성 -> app.js 파일 생성 //app.js import express from 'express'; const app = express(..

    Dockerfile 작성하기

    FROM python:3.8-alpine COPY . /app WORKDIR /app RUN pip3 install flask RUN chmod +x /app/app.py // app.py 액세스 권한 변경 CMD ["python3", "app.py"] FROM: 어떤 이미지를 사용할지에 관한 것, 사용 언어에 따라 여러 OS 버전이 있음 (아래 북마크 참고) Docker Hub hub.docker.com COPY: 현재 작성한 코드를 컨테이너의 디렉토리에 복사하라는 의미 (.은 도커파일이 위치한 디렉토리 기준, /app은 컨테이너의 디렉토리) WORKDIR: 컨테이너에서 명령이 실행되는 디렉토리 (예제에선 /app에서 명령 실행) RUN: 컨테이너를 구성할 파일을 생성할 때 사용 CMD: 컨테이너가 실..