Git | GitLab 63

[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

[GitLab] Runner 설치 및 등록

개요2025.02.06-[GitLab] 파이프라인 구성에서는 GitLab 호스팅 러너를 사용하여 파이프라인을 실행해 보았다. 이번 글에서는 직접 구성하고 등록한 러너에서 파이프라인을 실행해보려고 한다. 테스트 환경은 다음과 같다.GitLab 서비스 : gitlab.com러너 유형 : 프로젝트 러너사용 서버 : AWS EC2 Ubuntu 22.04 LTS arm64 방법을 적어둔다.  프로젝트 러너 생성1. New project runner 버튼 클릭프로젝트의 CI/CD 설정 페이지에서 New project runner 버튼을 클릭한다. 2. 신규 프로젝트 러너 생성러너의 태그 값을 지정하고, 필요시 추가 구성 옵션을 설정한다. 설정이 완료되면 러너 만들기 버튼을 클릭한다.이번 글에서는 별도 설정 없이 생..

Git | GitLab 2025.02.18

[GitLab] 파이프라인 구성

개요2025.02.03-[GitLab] CI/CD 파이프라인이란에서 GitLab에서 CI/CD를 위한 기능 중 하나인 파이프라인에 대한 개념을 알아보았다. 이번 글에서는 간단한 파이프라인을 직접 구성하고 테스트해본다.   환경파이프라인 구성 테스트는 파이프라인 자체에 초점을 두고 테스트하는 목적으로 별도 Runner 구성이 필요하지 않은 GitLab 호스팅 서비스를 이용한다. 레포지터리 환경 : GitLab.com 내 레포지터리사용 Runner 유형 : GitLab 호스팅 Runner/인스턴스 Runner Runner 구성은 이후에 직접 해보도록 하겠다.   파이프라인 구성간단한 파이프라인을 직접 구성하고 실행해보자. 1. Runner 확인파이프라인의 Job을 실행하기 위해서는 먼저 실행할 Runner가..

Git | GitLab 2025.02.17

[GitLab] Runner 란

개요2025.02.03-[GitLab] CI/CD 파이프라인이란에서 GitLab CI/CD 기능의 파이프라인에 대한 개념을 알아보았다. 그중 파이프라인의 Job이 동작하는 환경을 Runner라고 하는데, 이번 글에서는 Runner에 대해서 좀 더 자세히 알아보려고 한다.   RunnerGitLab Runner는 파이프라인의 Job을 실행하는 에이전트이다. .gitlab-ci.yml 파일에 정의된 빌드, 테스트, 배포, CI/CD 작업을 실행하는 역할을 한다.  특징여러 Job을 동시에 실행할 수 있다.여러 서버에서 여러 토큰을 사용할 수 있고, 토큰 당 동시 작업 수를 제한할 수 있다.로컬에서, 컨테이너 내에서, 컨테이너 내에서 SSH를 통해, 원격 SSH 서버에 연결해서 등등의 다양한 환경에서 Job을..

Git | GitLab 2025.02.14