본문 바로가기

Hello World/DevOps4

SW 버전 관리를 위한 몇가지 방안 (Versioning strategy) SW 버전관리는 개발과 운영에 있어서 중요한 역할을 한다. 변경이력을 추적할 수 있고, 여러 개발자가 협업하는 경우 변경사항의 충돌을 방지하고 협력을 원활하게 한다. 또한 문제가 발생했을 때 이전버전으로 쉽게 롤백 할 수 있다. 이 밖에도 확장성이나, 버그수정, 보안 패치 등을 효과적으로 관리하는데 도움을 준다. 버전명을 생성하는 방법(Versioning) 은 조직이나 프로젝트의 요구사항에 따라 다를 수 있다. 다만 일반적으로 사용되는 몇가지 버전명 생성 방법을 공유하고자 한다. 1. 의미론적 버전 (Sementic Versioning, SemVer) .. 시메틱 버전은 버전명을 MAJOR.MINOR.PATCH 형식으로 구성하는 표준방법이다. 각 세그먼트의 의미는 아래와 같다. MAJOR 버전은 하위호환.. 2023. 6. 10.
Golang application 에 prometheus 및 custom metric 적용하기 golang application 에 promethues 연동하고 custom metric 을 적용하는 방법을 정리해보았습니다. 프로메테우스 library를 적용하고 /metrics 에 핸들러를 expose(노출)한후 어플리케이션을 시작하고 localhost:8080/metrics 로 이동하면 기본 내장 메트릭을 볼 수 있습니다. 이러한 metric은 너무 low-level metric 이라 유용하게 쓸 수 없습니다. 어플리케이션 내부의 상태를 확인할 수 있는 custom metric을 적용하는 방법을 공유합니다. 1. Prometheus 클라이언트 라이브러리 설치 가장 먼저, Golang 애플리케이션에서 Prometheus 메트릭을 적용하기 위해 Prometheus 클라이언트 라이브러리를 설치해야 합니.. 2022. 8. 30.
Jenkins Pipeline 따라하기 (1) Jenkins 2.x 에서 가장 크게 추가된 기능이 있다면 pipeline 일 것이다. 기존 jenkins 에서 개별 job 으로 pipeline 을 구성했다면, Jenkkins2 에서는 파이프라인을 코드로 작성하여 프로그래밍과 버전관리를 지원한다.모든 파이프라인 설정이 하나의 파일(.JenkinsFile)을 이용해 작성이 가능하기때문에 일반 코드처럼 버전관리가 가능하다. 기본적인 pipelie job을 만들어보자. 구성의 pipeline 설정을 보면 두가지 종류가 있는데, script 영역안에 Pipeline 코드를 작성하거나, 스크립트를 버전관리시스템에 저장해놓고 사용할 수 있다. groovy 작성이 가능하며, 문법이 어렵지 않기 떄문에 금방 따라할 수 있다. 오른쪽 상단의 버튼을 통해 sample .. 2020. 12. 23.
Gerrit - Commit Message에 Change-Id 입력하도록 설정 보통 Commit Message에 Change-id 가 없어도 Gerrit 에 커밋을 업로드시 자동으로 생성해주지만, 커밋 메세지에 Change-id 가 없으면 Gerrit 에 올리지 못하도록 설정할 수도 있다. Change-Id 는 Gerrit 이 변경사항을 구분하는 고유 식별값이다(Commit Id와는 다르다). Browse - Repositories 클릭 -> All-Projects 클릭 (특정 Projecdt 만 적용할 수 도 있다.) Repository Options 에서 Require Change-Id in commit message 를 False에서 True로 설정. 설정 후 Commit message 에 change-Id가 없는 상태로 Push 하면 아래와 같은 에러가 발생한다. ERROR.. 2020. 12. 16.