일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MySQL
- ucpc 2023 예선 d번
- 그리디
- MongoDB
- Prisma
- 백준 32029번
- ERD
- html5
- branch
- HTTP
- pm2
- 백준 28303번
- ucpc 2024 예선 e번
- 게임 서버 아키텍처
- PROJECT
- localstorage
- Next
- 백준 32028번
- string
- 자바스크립트
- 더 흔한 색칠 타일 문제
- JavaScript
- map
- ccw 알고리즘
- ucpc 2023 예선 i번
- router
- Express.js
- 지금 자면 꿈을 꾸지만
- Github
- insomnia
Archives
- Today
- Total
dh_0e
[특강] CI/CD 본문
CI/CD란?
- 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법
CI(Continuous Integration): 지속적인 통합
- 추가/변경된 코드를 자동으로 빌드한 후 테스트
- 테스트에 통과한 경우에만 공유 저장소에 병합
- 여러 명의 개발자가 동시에 코드 작업을 할 때 서로 충돌할 수 있는 문제를 해결
CD(Continuous Delivery or Deployment): 지속적인 제공 or 배포
- 지속적인 제공, 배포
- 개발자들이 적용한 변경 사항이 CI 과정을 거쳐 저장소에 자동으로 업로드되는 것
- 운영팀은 이 저장소에서 애플리케이션을 실 서버 환경으로 배포할 수 있음
- 개발자의 변경 사항을 저장소에게 고객이 사용 가능한 프로덕션 환경까지 자동으로 배포하는 것
- Workflow: 미리 정의해놓은 작업
- Trigger event: workflow를 동작시키기 위한 조건
- Runner: Workflow를 실행하기 위한 VM
Worflow 구성
name:
on:
jobs:
custom-job-name:
if:
runs-on:
steps:
- name:
run:
- name:
uses:
- name: Workflow의 이름
- on: Workflow가 언제 실행될지 Trigger Event를 지정
- workflow_dispatch: 수동 실행
- push: PUSH 됐을 때
- pull_request: PR이 생성되거나 상태가 변경 되었을 때
- workflow_run: 특정 workflow
- 그 밖의 다양한 Event를 지원
- jobs: Workflow 내에서 여러 개의 작업을 동시에 또는 순차적으로 진행할 수 있음
- if: 조건에 따라 job 실행 여부를 결정
- runs-on: Runner를 지정
- 기본적으로는 Github에서 제공하는 Runner(GitHub-hosted runner)를 사용
- Linux: ubuntu-24.04(beta), ubuntu-22.04(= ubuntu-latest), ubuntu-20.04
- Windows: windows-2022(= windows-latest), windows-2019
- MacOS: macos-14(= macos-latest), macos-13, macos-12, macos-11
- steps: 작업 내의 단위 작업을 정의. 각 step은 -(빼기 기호)로 구분
- name: (선택사항) 단위 작업의 이름
- run: Runner에서 직접 실행할 command-line 명령을 정의
- 최대 21,000자까지 명령어 실행 가능
- | (파이프 연산자)를 이용하면 여러 줄 실행 가능
- uses: 미리 정의 된 action을 가져와서 사용
- with: 실행 시 매개변수를 전달
'내일배움캠프 > 특강' 카테고리의 다른 글
[특강] 프로세스, 스레드, 컨텍스트 스위치 (0) | 2024.07.12 |
---|---|
[발표] CPU란? (1) | 2024.07.09 |
[과제] 삼각함수, 역삼각함수 (+티스토리 수식 넣는 법) (0) | 2024.07.01 |
[특강] 로드 밸런싱, 대칭 키 암호화 방식, 공개 키 암호화 방식 (0) | 2024.06.28 |
[특강] 응용 계층? DNS? HTTP? (0) | 2024.06.21 |