Git | GitLab 66

[Gitlab] runner - PANIC: Failed to register this runner. Perhaps you are having network problems

현상어느 날 갑자기, 잘 동작하고 있던 gitlab-runner가 아래와 같은 오류와 함께 동작하지 않는 상태가 되었다.문제가 되는 gitlab-runner는 아래의 방식으로 설치해여 사용 중이다.AWS EKS 1.27Helm Chart 배포chart repogitory : http://charts.gitlab.io/chart name : gitlab/gitlab-runnerchart version : 0.15.0원인을 파악하고 현상을 해소해보자. 원인1. 로그 확인 먼저 로그를 보면 http 410 오류 코드와 함께 네트워크에 문제가 있을 수도 있다는 출력을 확인할 수 있다.하지만 노드에 직접 접속하여 확인해봤더니, gitlab-runner가 동작하는 호스트와 gitlab 서버 간의 통신에는 이상이..

Git | GitLab 2025.06.12

[Git] reflog - HEAD 이력 확인하기

개요git reset으로 커밋을 취소하던 중 실수로 유지해야 하는 커밋도 함께 취소를 해버렸다. 방법을 찾던 중 reflog 명령여를 활용하는 방식이 있어 reflog라는 명령어 자체에 대해서 일단 알아보고자 한다. reflog로컬 저장소에서 HEAD 또는 브랜치가 업데이트된 시점을 기록한다. 이 이력은 로컬 저장소의 아래 경로에 기록된다..git/logs/ref/heads# 또는.git/logs/HEAD즉, 변경 이력을 확인하고 싶다면 reflog 명령어가 아니라 위의 파일을 확인해도 된다. reflog는 list, show, expire, delete 등 다양한 하위 명령어를 제공하고 있다. 이 글에서는 주로 show 명령어를 다루려고 한다. 사용법기본적으로 아래와 같이 하위 명령어를 생략하여..

Git | GitLab 2025.06.02

[Git] diff - 브랜치 비교

개요2025.05.07-[Linux] diff -rq - 디렉터리 비교에서 두 디렉터리의 내용을 비교 확인하는 방법을 알아 보았는데, 사실 이 디렉터리가 Git 레포지터리였다. 그리고 Git은 두 브랜치를 비교하는 명령어를 제공하고 있다는 것을 뒤늦게 알게되어 추가로 작성한다. diffgit diff는 커밋 간, 커밋과 작업 트리 간 변경점을 보여주는 명령어다. 아무 옵션 없이 사용하면 워킹 트리 내에서 발생한 변경점을 보여주고, 파일을 지정하면 워킹 트리 내에서 지정한 파일에 발생한 변경점을 보여준다. 그리고 비교할 브랜치를 지정하면 두 브랜치 간의 차이점을 보여준다.git diff BRANCH_1 BRANCH_2## 예시git diff origin/master origin/my_branch실행해보면..

Git | GitLab 2025.05.19

[GitLab] k8s gitlab-runner 구성

개요2025.02.07-[GitLab] Runner 설치 및 등록에서 Shell Executor인 Gitlab Runner를 설치해 봤는데, 실제 운영 서비스는 kubernetes 환경에서 동작한다. 이번 글에서는 호스트가 아닌 kubernetes 환경에서 gitlab runner을 설치해보고자 한다.방법을 적어둔다. 참고로 gitlab runner 설치 환경은 killercoda.com이고, gitlab 서비스는 gitlab.com이다.   프로젝트 러너 생성1. New project runner 버튼 클릭프로젝트의 CI/CD 설정 페이지에서 New project runner 버튼을 클릭한다. 2. 신규 프로젝트 러너 생성러너의 태그 값을 지정하고, 필요시 추가 구성 옵션을 설정한다. 설정이 완료되면 ..

Git | GitLab 2025.03.06

[GitLab] gitlab-runner 내에서 push 하기 - 파이프라인 구성

개요2025.02.23-[GitLab] gitlab-runner 내에서 push 하기 - SSH 인증 구성에서 gitlab-runner 내에서 gitlab 레포지터리에 push하기 위해 SSH 인증을 구성했다.이번 글에서는 이어서 SSH 인증을 사용한 git push 파이프라인을 구성한다.  1. SSH 인증 정의https://gitlab.com/gitlab-examples/ssh-private-key/ 참고하여 .gitlab-ci.yml 파일을 정의한다.test-job: stage: test before_script: ## ## Docker 사용 시 ssh-agent 설치 필요 ## 아래 명령은 debian 기반으로 작성됨. RPM 기반 이미지 사용 시 yum 사용 필요 ## ..

Git | GitLab 2025.03.05

[GitLab] gitlab-runner 내에서 push 하기 - SSH 인증 구성

개요GitLab을 사용하고 있는데, 레포지터리 내 특정 파일에 변경 사항이 발생하면 pipeline job 내에서 다른 파일을 변경하여 레포지터리에 push 하려는 요구사항이 있다.때문에 이번 글에서는 gitlab 레포지터리에 push를 수행하는 gitlab 파이프라인을 구성해보려고 한다. 다만, 파이프라인은 구성을 잘못하면 파이프라인이 동작할 때마다 파이프라인을 트리거하는 문제가 발생할 수 있기 때문에 주의해야 한다. 테스트 환경은 gitlab.com으로, 별도 러너 구성 없이 gitlab 제공 러너를 사용할 것이다.이번 글에서는 SSH 인증 구성 방법만 정리해둔다.   인증 구성 옵션gitlab 레포지터리에 작업을 수행하기 위해서는 인증이 필요하다.인증 방식에는 여러 선택지가 존재하지만, 이번 글에서..

Git | GitLab 2025.03.04

[GitLab] PipeLine - 특정 파일 변경 시 트리거

개요2025.02.10-[GitLab] Pipeline - Rules에서 트리거 조건을 설정하는 rules 속성에 대해서 알아보았는데, 이번에는 실제로 rules를 활용해 파이프라인을 구성해보려고 한다.이번 글에서는 특정 파일이 변경될 때만 파이프라인이 트리거되도록 설정해보자.  구성 테스트1. .gitlab-ci.yml 변경.gitlab-ci.yml 파일을 아래와 같이 rules,changes를 추가하고 편집힌다. 이 변경 사항을 커밋하면, 기존에 테스트했던 것과 다르게 파이프라인이 트리거되지 않는 것을 확인할 수 있다.이번 커밋에서 조건으로 지정한 changes_test.txt라는 파일에 변경이 없기 때문에 실행할 Job이 없어서 파이프라인 자체가 동작하지 않은 것이다. 2. 조건에 해당되는 파일 변..

Git | GitLab 2025.02.24

[GitLab] Pipeline - Rules

개요2025.02.09-[GitLab] PipeLine 유형에서 GitLab 파이프라인이 실행되는 조건을 지정할 수 있다는 것을 알게 되었다. 이번 글에서는 실행 조건을 지정하는 방법에 초점을 맞춰 알아보려고 한다.  rulesrules 속성은 파이프라인에서 Job을 포함하거나 제외할 때 사용한다. rules는 일치할 때까지 순서대로 평가되고, 일치하는 항목이 발견되면 그 구성에 따라 Job이 포함되거나 제외된다.규칙은 Job이 실행되기 전에 평가되기 때문에 Job script에서 생성한 dotenv 파일은 사용할 수 없다. rules는 배열을 허용하며, 각 규칙에는 if, changes, exists, when 속성이 하나 이상 존재해야 한다. 그리고 allow_failure, needs, variab..

Git | GitLab 2025.02.21

[GitLab] PipeLine 유형

개요2025.02.06-[GitLab] 파이프라인 구성에서 간단한 GitLab 파이프라인을 구성하고 테스트를 수행하며 GitLab 파이프라인은 기본적으로 원격 저장소에 커밋이 발생할 때 트리거된다는 것을 알게 되었다.그런데, 파이프라인의 트리거 종류에 따라서 파이프라인의 유형을 구분할 수 있는 것을 알게 되었다.이번 글에서는 트리거 방식에 따른 파이프라인의 유형을 정리한다.   브랜치 파이프라인브랜치 파이프라인은 브랜치에 변경 사항을 커밋할 때마다 파이프라인이 실행된다. 기본적으로 실행되는 방식이기 때문에 별도의 구성이 필요하지 않다.브랜치 파이프라인은 GitLab에 의해 사전 정의된 변수에 접근할 수 있으며, 브랜치가 Protected 상태인 경우 Protected Variable, Protected ..

Git | GitLab 2025.02.20

[GitLab] Runner Shell Executor - ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information

현상2025.02.07-[GitLab] Runner 설치 및 등록에서 Ubuntu 22.04 LTS에서 gitlab runner를 직접 구성하여 테스트했다. shell executor를 사용하도록 구성했는데, 아래와 같은 에러 메시지가 발생하면서 동작에 실패했다.ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information원인을 파악하고 해결해보자.   원인에러 로그를 보면 문서를 참고하라고 되어 있는데, 문서를 확인해 보면 다음과 같이 오류 원인을 안내하고 있다.(참고 : https://docs..

Git | GitLab 2025.02.19