no image
[GIT] GitLab 에서 Renovate 를 이용하여 자동으로 의존성 버전을 관리해보자
소개Renovate 는 쉽게 말하면 자동화된 의존성 업데이트 도구다. GitHub 로 따지자면 dependabot 같은 역할로 보면 된다.해당 도구로 의존성 버전을 자동으로 관리해주게 하여 보안 이슈 등으로 인한 라이브러리 버전 업데이트 발생 시 개발자가 버전을 관리하는 부분을 어느 정도 신경쓰지 않도록 도와준다. dependabot의 경우 GitHub을 built-in 의존하는 부분이 있지만, renovate 의 경우 멀티 플랫폼 및 여러 언어에서 동작할 수 있도록 지원하며 커스터마이징도 쉽다. (봇 비교 문서)GitLab 의 경우, https://gitlab.com/renovate-bot/renovate-runner 를 통해 사용할 수 있으며 해당 저장소에서 제공하는 템플릿 파일을 통해 renovat..
2024.12.30
no image
[GIT] Upsource 말고 Jetbrains 에서 GitLab 통합 기능으로 코드 리뷰를 해보자
코드 리뷰를 도와주는 도구 중 Jetbrains 에서 만든 Upsource 라는 유명한 도구가 있다. 하지만 2022년 2월에 지원 종료를 하면서 기존에 사용하는 유저들만 계속 지원하고, 신규로 사용하고자 한다면 Space 라고 하는 통합 개발 플랫폼을 이용하라고 말한다. 현재 회사에서는 Upsource 를 이용하고 있지 않았고, 통합 개발 플랫폼도 사실상 GitLab 을 사용하고 있었기 때문에 Space 를 사용할 수도 없었다. 코드 리뷰를 하기 위한 도구를 물색하면서 Codestream 이라던가 다른 도구들을 살펴보았지만, Upsource 만큼의 편의성을 제공하는 도구는 없어보였다. Jetbrains 의 Marketplace 에서 GitLab MR 관련된 플러그인이 있긴 했지만 유료였다. 그렇게 딱히..
2023.10.15
no image
[GIT] 특정 시점에서의 변경 내역만 되돌리기
회사에서 다른 분이 작업했었던 브랜치가 master 에 병합이 되었는데 적용하지 말아야 하는 경우가 생겨서 이미 다른 사람들까지 병합이 된 상황에서 되돌려야 하는 경우가 생겼다. $ git log --oneline --graph * f82c9d2 (HEAD -> master, tag: v1.16.7o, origin/master, origin/HEAD) Merge branch 'hotfix/EMTT-350' into 'master' |\ | * cf2113f (origin/hotfix/EMTT-350, hotfix/EMTT-350) feat: cache key 확인 후 없으면 api 호출하도록 수정 | * adb8f11 refact: 인자 수정 | * e1653bd refact: isset 은 null 확..
2023.09.14
no image
[GIT] GIT 원격 origin 변경 방법
1. 기존의 원격 origin 을 제거한다.$ git remote remove origin 2. 새로운 원격 origin 을 추가한다.$ git remote add origin [GIT저장소주소]
2022.09.21
no image
[GitLab] rsync 를 이용한 cicd 자동화 배포
2019년도에 회사 내에서 GITLAB 을 이용하여 배포 자동화 작업을 하면서 작성했던 내용입니다. 설치형 GitLab 기준으로 작성한 내용이며 gitlab-runner 사용에 대한 내용은 포함되어 있지 않습니다. Apache 내에서 특정 Document Root 를 바라보고 있을 때 rsync 를 이용하여 웹 서비스를 배포하는 내용을 담고 있습니다. 다른 방식으로 배포하는 것을 참고하려면 이 글과는 맞지 않으니 다른 글을 참고하세요. 배포 전략 rsync 를 통해 운영 서버에 업로드하며 롤링 배포를 심볼릭 링크를 이용하여 기존 버전을 교체하는 방식으로 진행할 것이다. 저장소에서 TAG Push 를 통해 배포를 한다. CI/CD 파이프라인 내에서 rsync 를 통해 업로드를 한다. CI/CD Variab..
2022.06.09
no image
[GIT] SVN 에서 GIT 으로 이전하기
회사 내에서 SVN 을 GIT 으로 이전할 때 정리하여 작성했던 내용입니다.GIT 저장소 준비$ git clone SVN 으로부터 Clone$ git svn clone -s# ex) git svn clone svn://svn.somehost.com/some_repo some_repo_folder -srev-parse --git-path svn: command returned error: 127 오류날 경우git 저장소 폴더로 들어가서 아래 명령어를 실행한다.$ git svn gc다시 clone 명령어 실행해서 이어서 진행한다.브랜치 확인로컬, 원격 저장소에 모두 다 제대로 불러왔는지 확인한다.$ git branch -atrunk 로 내용 가져오기$ git checkout trunk$ git pull..
2022.06.09
no image
[K8S] nodePort, port, targetPort 구분
NodePort - 외부에서 접속하기 위해 사용하는 포트 port - Cluster 내부에서 사용할 Service 객체의 포트 targetPort - Service객체로 전달된 요청을 Pod(deployment)로 전달할때 사용하는 포트 apiVersion: v1 kind: Service metadata: name: helloworld-service spec: ports: - nodePort: 31001 port: 8080 targetPort: 80 protocol: TCP selector: app: helloworld type: NodePort https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=freepsw&logNo=2219100..
2022.06.08
no image
[K8S] Jaeger 설치 (jaeger-operator)
https://github.com/jaegertracing/jaeger-operator K8S 구성 설명: https://www.jaegertracing.io/docs/1.34/operator/ 포트 관련: https://www.jaegertracing.io/docs/next-release/getting-started/#all-in-one 한글 설명: https://www.oss.kr/storage/app/public/oss/9f/ca/[Jaeger]%20Solution%20Guide.pdf cert-manager 설치 $ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.ya..
2022.06.08
no image
[K8S] Jaeger 설치 (jaeger-kubernetes)
jaeger-kubernetes 는 현재 deprecated 되었고 jaeger-operator 를 권고하고 있다. 이 글은 jaeger-kubernetes 기준으로 진행하면서 직접 사용하기까지의 기록을 담은 글이다. 이 글 대신 jaeger-operator 을 사용하는 내용을 보고 싶으면 여기로 가면 된다. 1. YML 설정 구성 다운로드 https://github.com/diazjf/meow-micro/blob/main/jaeger/jaeger-all-in-one.yaml (https://github.com/jaegertracing/jaeger-kubernetes 에서 제공하는 apiVersion 을 일부 수정) 을 적용한다. $ kubectl apply -f jaeger-all-in-one.yaml..
2022.05.26