ETC 코딩/ETC

[CI/CD] CI/CD (Jenkins/ AWS Code Series/Github Actions)

세리둥절 2023. 12. 22. 17:43
반응형

CI/CD (continuous integration / continuous deployment)

- CI : 하루에도 여러번 mainline에 merge하는 행위

- CD :  software를 자동화하여 배포

 

 

Jenkins란?

- free and open source 자동화 서버 

- 다양한 플러그인 제공 (pipeline, authentication, Git, Docker)

- 다양하게 third party solution과 확장

 

- docker-compose에 yml 파일에 적어둔 다음에 docker로 실행 (docker-compose up -d)

- 열면 Jenkins Dashboard가 뜬다

 

 

Jenkins Pipeline이란?

- Jenkins plugins의 묶음 (일련의 단계들의 묶음)

- required 'Pipeline plugin' 

- Jenkins DSL이라는 언어를 통해서 선언적 형태의 Pipeline을 작성할 수 있다

 

Jenkins Pipeline 실습 

- Jenkins plugins의 묶음 (일련의 단계들의 묶음)

- Jenkins 설치

1) Package 직접 설치 (bastion으로 들어가서 scirpt 다운받아서 설치) 

2) docker 설치 (docker-compose.yml, Dockerfile) 

 

 

AWS Code Series

- AWS에서 제공하는 CI/CD를 위한 기능들 (CodePipeline, CodeDeploy, CodeBuild 등..)

 

 

Github Actions

- event를 통해 workflow를 자동화할 수 있는 도와줄수 있는 도구

- push event를 받았을 때 docker Image 빌드

- Pull Request가 생성되었을 때 Test 수행 등등...

 

 

반응형