레이블이 diff인 게시물을 표시합니다. 모든 게시물 표시
레이블이 diff인 게시물을 표시합니다. 모든 게시물 표시

helmfile 사용하기

# helmfile.yaml(release 명시)정의된 helm 배포할 수 있는 툴이다.

# 설치(mac 기준)
# 참고로 helm 이 설치되어 있어야 한다.
brew install helmfile

# 초기화 필요한 플러그인들은 설치한다.
helmfile init

# 추가로 diff 기능을 위채 설치할것
helm plugin install https://github.com/databus23/helm-diff

# 현재 배포된 것과 전체 차이 보기
helmfile diff

# 특정 이름의 release만 비교
# -n ysoftman1 로 네임스페이스를 별도로 지정할 수도 있다.
helmfile diff -l name=ysoftman-server

# 변경된 부분 앞뒤로 3줄만 보이도록 한다.
helmfile diff -l name=ysoftman-server --context 3

# 이름이 ysoftman-server 제외한 모든 release 비교
helmfile diff -l name!=ysoftman-server

# helmfile.yaml 에 명시 릴리즈 모두 적용
# apply 하면 내부적으로 diff -> 변경사항 -> sync 가 실행된다.
helmfile apply 

# 특정 이름의 release 만 배포, diff 부분 출력시 앞뒤로 3줄 까지 표시
helmfile apply -l name=ysoftman-server --context 3

# 특정 이름의 release 만 삭제
helmfile delete -l name=ysoftman-server

diff 출력하기

### a.c 내용(원본) ###
#include <stdio.h>
void main() {
printf("hello world~\n");
}

### b.c 내용(수정사항) ###
#include <stdio.h>
int main() {
printf("hello world~\n");
return 0;
}


#!/bin/bash
# ysoftman
# diff 출력하기
# -u --unified 포맷 통일, 한쪽에는 없는 부분을 있는것 처럼 표시
# -r --recursive 하위 디렉토리에 있는 파일도 비교
# -N --new-file 한쪽에는 없는 파일이면 있는것 처럼 표시
/usr/bin/diff -urN a.c b.c


### 결과 ###
--- a.c 2016-08-25 16:40:39.000000000 +0900
+++ b.c 2016-08-25 16:40:43.000000000 +0900
@@ -1,5 +1,6 @@
 #include <stdio.h>
-void main() {
- printf("hello world~\n");
+int main() {
+ printf("hello world~\n");
+ return 0;
 }

# 참고
# diff 결과를 파일로 만들고 /usb/bin/patch 를 사용해서 원본 파일에 변경을 적용할 수 있다.