250x250
jhs0129
프로그래밍
jhs0129
전체 방문자
오늘
어제
  • 분류 전체보기
    • 자격증
      • SQLD
      • 정보처리기사
    • 프로젝트
      • html csss js - todolist
      • JSP 방명록
      • 졸업작품
    • 공부기록
      • Java
      • Spring
      • Spring Security
      • Algorithm
      • JPA
      • DB
      • Servlet JSP
      • html
      • 기술공유
    • 잡다한 생각

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • github
  • codedeploy
  • AWS
  • 프로젝트
  • Spring Security
  • 스프링 프레임워크
  • cicd
  • nhn cloud 강의
  • EC2
  • rest docs
  • 스프링
  • spring data jpa
  • oAuth2
  • JPA
  • spring framework
  • Spring Security Login
  • spring
  • 스프링시큐리티
  • spring boot
  • NHN Cloud

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
jhs0129

프로그래밍

공부기록

[이론] CI/CD - 1

2023. 8. 28. 17:53
320x100
반응형
320x100

CI/CD 간단 지식

CI란

CI(Continuos Integration) 지속적 통합

자동화된 빌드 및 테스트가 수행된 후 개발자에 의해 변경된 코드를 Repository로 Merge를 진행하는 개발 방식

핵심 목표 : 버그를 신속하게 찾아 해결 & 품질 개선 & 업데이트 검증 & release 시간 단축

CD란

CD(Continuous Deployment) 지속적 배포
or CD(Continuos Delivery) 지속적 제공 (상호 교환하여 사용)

CD(Continuos Delivery)

애플리케이션에 적용한 변경 사항을 버그 테스트를 거쳐 Repository에 자동으로 업로드되는 것

CD(Continuous Deployment)

변경 사항을 Repository에서 프로덕션 환경(Cloud환경, On-Premises)까지 자동으로 릴리스하는 것

주의 유효한 코드를 Repository에 자동으로 Release -> 효과적으로 CD Process를 실현하기 위해서는 CI가 먼저 구축되어 있어야 함

CI 구축

우선 CI/CD에 대한 구축은 Github Action을 사용하여 구축을 할 예정이다

구축 이전에 간단하게 Github Action에 대해서 알아보자

반응형

Github Action

자동으로 build, test, deployment를 가능하게 해주는 CI/CD(여기서의 CD는 Continuos Deployment의 개념) 플랫폼

WorkFlow라는 Github Action이 제공해주는 템플릿을 작성하여 원하는 방식으로 구성을 할 수 있다

구성 요소

  • WorkFlow

하나 이상의 Job들을 실행시킬 수 있는 자동화된 process 설정 파일(yaml 형식)

항상 Repository의 root path 하위에 .github/workflows 디렉토리 아래에 작성이 되어야 함

물론 여러개의 WorkFlow를 작성 가능

  • Events

WorkFlow를 동작 시킬 Repository에서 일어나는 특정 동작

이번에 실습을 할 때는 Pull Request와 Push를 사용할 것이다

Github Action Events에 모든 예시들이 있으므로 필요할 때마다 찾아서 사용하면 되겠다

  • Jobs

같은 Runner에서 실행 시킬 workflow파일 안에 있는 step들의 집합

shell script이거나 action을 통해 순서에 따라 독립적으로 실행된다

같은 Runner에서 실행이 되므로 이전에 만들어진 데이터들을 같이 공유해서 사용이 가능하다

  • Actions

복잡한 반복적인 task들을 실행 시켜줄 custom한 application

많이 제공해주는 것이 있어 우선은 제공되는 것들을 사용해도 충분하다고 생각한다

만일 추가적으로 필요하다면 Github Action Action를 참고해서 만들어 보자

이번 실습에서는 actions/checkout@v3, gradle/gradle-build-action@v2 등을 사용할 것이다

  • Runners

WorkFlow를 동작 시킬 내부 서버

Github에서는 Ubuntu, Windows, macOS 3가지를 제공

320x100
반응형

'공부기록' 카테고리의 다른 글

Nginx 적용기  (0) 2023.11.05
[실습] CICD-4  (0) 2023.09.29
실습CICD-3  (0) 2023.09.29
[실습] CICD - 2  (0) 2023.08.29
[Infra] CICD  (0) 2023.05.24
    '공부기록' 카테고리의 다른 글
    • [실습] CICD-4
    • 실습CICD-3
    • [실습] CICD - 2
    • [Infra] CICD
    jhs0129
    jhs0129
    공부기록 남기기

    티스토리툴바