티스토리 뷰

카테고리 없음

웹 개발 파이프라인 구축 (1)

파이썬 초보 파이리 2025. 5. 12. 22:21

웹 개발 파이프라인 구성 도구

웹 개발에서는 코드 작성, 테스트, 배포 과정이 반복적으로 발생함. 이를 자동화해 효율성을 높여주는 도구들이 바로 웹 개발 파이프라인 구성 도구임. 이 글에서는 각 도구의 역할과 어떻게 웹 개발을 자동화할 수 있는지 쉽게 설명함.


1. 웹 개발 파이프라인이란?

웹 개발 파이프라인은 CI/CD(지속적 통합/지속적 배포) 원칙을 기반으로 코드를 푸시하면 자동으로 빌드하고, 테스트하고, 배포까지 해주는 시스템임. 즉, 개발자는 코드만 작성하고 나머지 과정은 도구들이 처리하는 방식임.

웹 개발 파이프라인의 주요 단계는 다음과 같음:

단계설명

코드 작성 및 푸시 개발자가 코드를 작성하고 버전 관리 시스템(Git)에 푸시함.
자동 빌드 및 테스트 푸시된 코드가 자동으로 빌드되고 테스트됨.
자동 배포 테스트를 통과한 코드가 서버에 자동으로 배포됨.

 

2. 주요 웹 개발 파이프라인 도구들

웹 개발 파이프라인을 관리하는 데 유용한 도구들이 여러 가지 있음. 각 도구는 특정 작업을 자동화하여 개발 과정을 쉽게 만들어줌.

도구설명장점사용 예
GitHub Actions GitHub에서 제공하는 자동화 도구 GitHub와의 연동이 쉬움, YAML 파일로 설정 간편 코드 푸시 시 자동 빌드 및 배포 자동화
Jenkins 오픈소스 CI/CD 도구로, 플러그인을 통해 다양한 작업 설정 가능 매우 유연하고 커스터마이징 가능 복잡한 빌드 및 배포 파이프라인 관리
CircleCI 클라우드 기반 CI/CD 도구, 빠른 속도 자랑 빠른 빌드 및 테스트 속도 간편한 CI/CD 파이프라인 설정
 

3. 웹 개발 파이프라인 도구의 장점

웹 개발 파이프라인 도구를 사용하면 많은 장점을 누릴 수 있음. 주요 장점은 다음과 같음:

장점설명
시간 절약 자동화로 반복적인 작업을 줄여 개발자는 핵심 기능에 집중할 수 있음.
오류 감소 자동화된 테스트와 배포 과정에서 실수를 줄이고 품질을 보장할 수 있음.
빠른 배포 코드 변경 시 자동으로 배포가 이루어져 빠르게 사용자에게 업데이트를 제공할 수 있음.
 

4. 웹 개발 파이프라인 도구 선택 시 고려사항

웹 개발 파이프라인 도구를 선택할 때 고려할 점은 무엇일까?

고려 사항설명
프로젝트 규모 프로젝트가 복잡하다면 Jenkins처럼 고급 도구가 필요하고, 간단한 설정을 원하면 GitHub Actions나 CircleCI가 좋음.
배포 환경 클라우드 기반 배포에는 GitHub Actions나 CircleCI가 유리하며, 자체 서버 배포 시 Jenkins가 적합함.
기존 시스템과의 통합 기존 시스템과의 통합이 중요한 경우 Jenkins와 같은 다양한 플러그인을 지원하는 도구가 적합함.

5. 결론

웹 개발 파이프라인 도구들은 웹 개발 과정을 자동화하여, 개발자는 코드 작성에만 집중하고, 반복적인 작업은 도구들이 처리하게 해줌. GitHub Actions, Jenkins, CircleCI와 같은 도구들을 활용하면, 코드의 품질을 높이고 배포 과정을 효율적으로 관리할 수 있음. 각 도구는 특징에 맞게 선택하여 프로젝트에 적합한 CI/CD 파이프라인을 구축함


파이프라인 자동화 도구들

컨테이너 가상화 및 클러스터 운용

  • Docker+kubernetes

소프트웨어 개발 파이프라인 자동화 서버

  • jenkins

구성 관리 자동화

  • Ansibli

소프트웨어 버전 관리

  • Github

그 외

  • 빌드 도그, 단위 테스트 프레임 워크, 정적 코드 분석기,...

컨테이너 가상화와 도커

가상화 컴퓨팅의 이점

  • 개발한 소프트웨어의 배포, 테스트, 구성 관리 등에(실제 물리적 하드웨어에 상관 없이) 통일된 환경을 제공할 수 있음
  • 따라서 소프트웨어 통합/인도 프로세스의 자동화에 적용하기가 좋음

가상 기계

호스트 : 다른 시스템을 가상화하여 실행하는 컴퓨터

게스트 : 호스트 시스템 위에 가상화 되어 제공되는 가상 시스템

 

컨테이너 기반 : 호스트 OS의 컨테이너 기술을 이용

 

도커

널리 이용되고 있는 컨테이너 기반 가상화 플랫폼

Linux, Windows, MacOS상에서 실행되는 컨테이너 엔진을 제공

AWS, GCP, Azure등의 클라우드 컴퓨팅 인프라와 결합하면 더욱 유연한 운영이 가능


도커 사용하기

도커 설치

https://herojoon-dev.tistory.com/254

 

Windows 11에 Docker Desktop 설치하기_2024.11

목표Windows 11에 Docker Desktop 설치하기Docker 사용해보기 오랜만에 Docker설치하려고 하니 Docker 설치 UI가 바뀌어 2024.11.05 기준 다시 정리해보았습니다. 이번 정리에는 Docker 이미지 사용 예제도 함께

herojoon-dev.tistory.com

 

docker run hello-world 출력

 

Unable to find image 'hello-world:latest' locally >> 내가 가진 파일에선 찾지 못하고
latest: Pulling from library/hello-world >> 다른 라이브러리에서 가져옴

 

한번 더 출력하면 원래 있던 이미지를 가져옴

 

도커 이미지 :

  • 실행 가능한 컨테이너를 만들기 위한 거푸집
  • 응용을 실행하는 데 필요한 모든 파일과 그것을 실행하는 방법을 한데 묶어 놓은 것

 

도커 컨테이너 :

  • 도커가 실행하는 격리된 환경과 그 내부
  • 이미지의 실행 인스턴스

도커 - 컨테이너와 이미지 관련 명령어 요약

1. docker run <이미지 이름>

- 이름이 주어진 이미지를 로컬에서 또는 레지스트리에서 가져다가 컨테이너를 만들어 실행

 

2. docker ps, docker ps-a

- 현재 실행 중인(또는 중단되어 있는 것까지 포함하여) 컨테이너들의 정보를 조회

 

3. docker images

- 로컬 컴퓨터에 가지고 있는 이미지들의 정보를 조회

 

4. docker stop <컨테이너 이름/ID>

- 현재 실행 중인 컨테이너의 실행을 중단

- 컨테이너가 없어지지는 않음

 

5. docker rm <컨테이너 이름/ID>

- 컨테이너를 삭제

 

6. docker rmi <이미지 이름/ID>

- 이미지를 삭제

 


도커 이미지

  • 응용을 실행하는 데 필요한 모든 파일과 그것을 실행하는 방법을 한데 묶어 놓은 것
  • 상태 정보를 가지고 있지 않음

도커 컨테이너

  • 이미지의 실행 인스턴스
  • 실행 상태를 유지

도커 이미지 만들기

실행상태유지 -> 자동화

 

실험 계획

 

1. 상태를 깨끗이 하고

  • 이전에 가져왔던 이미지, 실행했던 컨테이너들을 모두 삭제

 

2. httpd이미지를 가져다가 실행하되

  • it works말고 다른 기본 페이지가 나오도록 설정
  • 컨테이너 안의 특정 파일을 수정하는 작업

3. 이 상태로 실행되는 이미지를 작성

  • 이후에는 이 이미지로 컨테이너를 만들어 실행하면 항상 우리가 원하는 문서가 기본 페이지로 제공되도록

 

 

강의와 다른점

  • 강의에서 나온 172.17.0.2는 컨테이너 내부 IP라서 외부(브라우저)에서 직접 접근할 수 없습니다.
  • 해결 방법은 호스트와 컨테이너의 포트를 연결(-p 옵션) 해줌.
  • 그래서 docker run -p 8080:80 httpd 명령어로 호스트의 8080포트로 접속 가능(http://localhost:8080).

 

Dockerfile을 통한 이미지 생성

 

docker run -it -p 8080:80 httpd /bin/sh //wsl이기 때문

 

 

 

 

내가 만든 이미지 실행하기

내가 만든 이미지 실행하기

 

 

 

이미지 생성 자동화

이미지 레지스트리로 업로드

docker login -u choihyeonseo //도커에 로그인
docker tag my_http:0.2 <docker ID>/my_http:0.2 //이미지 복사
 docker push choihyeonseo/my_httpd:0.2

 

 

모든 이미지를 삭제한 뒤 다시 실행하면 레지스트리부터 내 이미지를 가져와 실행한다

 

다 지운 후

docker run choihyeonseo/my_httpd:0.2



docker run -p 8080:80 choihyeonseo/my_httpd:0.2// 나는 이렇게

를 실행하면

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함