일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- 구글클라우드서밋
- golang
- 구글
- go
- 클라우드 자격증
- 도커
- 클라우드
- 구글클라우드
- Dataproc
- cdk
- GCP
- 네트워크
- 코세라
- 쿠버네티스
- 마이크로서비스
- 자격증
- aws
- DataFlow
- Associate
- nnictl
- 머신러닝
- AWS #빅데이터 #분석 #데이터
- 딥러닝
- 구글 클라우드
- 구글클라우드플랫폼
- cloud
- Kubernest
- coursera
- Today
- Total
JD의 블로그
Jenkins란 무엇인가? 본문
Devops를 위해, Ansible, Git, Docker 등을 이용해 command line 환경에서 처리 가능하게 만듬으로써 개발을 빠르게 할 수 있습니다. 그러나, 이러한 도구와 도구 사이에도 연결하는 작업들이 필요하고 연결 자체에 시간과 노력이 필요하며 이런 부분에서 실수가 발생하여 문제가 생길 수 있습니다. Jenkins는 이러한 문제를 해결하고, 좀 더 개발을 효율적으로 할 수 있게 도와줍니다.
Jenkins는 어떻게 개발을 효율적으로 만들어주는가?
Jenkins는 빌드와 테스트 등을 위해 서버에 로그인하고 명령어를 수행하는 다소 복잡한 과정을 단순화해줘 한층 더 효율을 높일 수 있게 해줍니다.
인프라 구축은 조금만 잘못되어도 큰 영향을 미치는 작업인데, 절차상의 오류로 인해 발생하는 문제도 있을 수 있습니다. 따라서 이러한 작업은 가능한 사람의 수작업과 판단을 배제할 수 있는 프로세스로 구축해야합니다. 또한 구축 후에는 반드시 테스트 등 정해진 작업을 연속적으로 수행할 수 있어야 합니다.
Git을 통해서 코드 변경에 대한 이력은 확인할 수 있지만, 실행 이력과 결과는 축적되지 않기 때문에 누가, 언제, 어떤 작업을 했는지, 이를 통해 결과가 어떻게 되었는지 확인할 수 없습니다. 그러나 이러한 정보를 가진다면 장애 발생 시 발생 원인 조사를 위해 필요한 정보로 바로 사용할 수 있기 때문에 굉장히 유용합니다.
Jenkins는 Build Pipeline 도구로 이러한 문제를 해결하며 GUI를 통해 작업을 수행할 수 있는 도구입니다. 즉, 다양한 처리("빌드" or "테스트")를 정의하고 파이프라인으로 만들어, 일련의 프로세스를 자동화하고 원활하게 수행할 수 있게 해줍니다. 따라서 빌드 및 테스트 등의 개별 처리를 쉽게 관리/실행할 수 있게 해줄 뿐 아니라 연속해서 실행할 수 있게 해줍니다.
Jenkins에서는 어떤 작업이 가능한가?
- 프로젝트 단위로 작업을 모아 실행할 수 있는 환경을 제공한다.
- 정의된 프로세스를 프로젝트 단위로 정의할 수 있게 해주며, 미리 정의된 프로젝트는 실행할 때 명령어 입력이 필요 없습니다. 단순히 정해진 프로젝트를 선택하고 실행하면 끝입니다.
- 작업을 안전하게 처리할 수 있습니다.
- 명령어 입력이 필요없기 때문에 절차상의 누수가 발생하지 않습니다.
- 실행과 결과에 대한 이력을 추적할 수 있는 목록을 만들 수 있습니다.
- 언제, 누가 프로젝트를 실행했는지, 그 결과가 어떻게 나왔는지를 저장하고 추적할 수 있게 해줍니다.
'클라우드 > Devops' 카테고리의 다른 글
Kubernetes 개념 (0) | 2021.10.05 |
---|---|
넷플릭스 마이크로 서비스 가이드 (0) | 2020.05.13 |