gitlab 24

[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

[GitLab] CI/CD 파이프라인이란

개요DevOps 상에서 지속적인 통합과 배포라 일컬어지는 CI/CD는 다음과 같은 의미를 가지고 있다. CI (Continuous Integration)코드 저장소에 변경이 발생할 때마다 자동으로 응용 프로그램을 빌드하고 테스트함으로써 애플리케이션 오류 가능성을 감소시킨다. CD (Continuous Delivery/Deployment)코드 저장소에 변경이 발생할 때마다 자동으로 빌드한 애플리케이션을 배포한다. 대표적인 CI/CD 도구로는 이 글에서 몇 번 다뤘던 Jenkins가 있지만, GitLab 또한 존재한다. 이번 글에서는 GitLab에서 CI/CD를 위한 기능 중 파이프라인에 대해서 알아보려고 한다.   GitLab CI/CD 파이프라인GitLab CI/CD는 다양한 개념과 용어를 사용해 빌드,..

Git | GitLab 2025.02.12

[GitLab] Merge Request - Squash 기본 활성화하기

개요2024.08.30-[Git] Squash - 커밋 압축하기에서 여러 개의 작은 커밋을 하나의 커밋으로 압축하는 Squash를 알아보았다.이번 글에서는 GitLab에서 Merge Request를 머지할 때 Squash 기능을 사용하는 방법을 적어둔다.  Merge Request - SquashGitLab에서 Merge Request를 할 때 Squash commits 체크박스를 체크하면 머지할 떄 압축된 커밋 하나와 머지 커밋 하나, 총 두 개의 커밋이 target branch에 추가된다.   기본 옵션 설정레포지터리 설정에서 Merge Request를 생성할 때의 Squash 관련 기본값을 설정할 수 있다. 설정할 수 있는 기본값은 아래와 같다.Do now allow : Squash 미허용. 체크 ..

Git | GitLab 2024.09.19

[GitLab] 브랜치/TAG 간 비교

개요저장소 내에서 버전 관리를 하면서 태그나 브랜치 간에 차이점을 비교하려고 한다. 예로 들어 v0.4과 v0.5 간의 차이가 발생하는 commit 목록을 확인하고 싶다.확인하는 방법에는 여러 가지가 존재하겠지만, 이 글에서는 GitLab 웹에서 확인하는 방법을 적어두려고 한다.  Compare revisionsGitLab에서느 Compare revisions(Git 리비전 비교) 기능을 사용하여 저장소 내 브랜치나 태그를 기준으로 비교할 수 있다.GitLab 공식 레포지터리를 예로 들어 최신 버전과 직전 버전을 비교해보자. 1. 레포지터리 메뉴 > Code > Compare revisions 클릭GitLab 서버 버전에 따라 메뉴 접근 경로는 달라질 수 있는 것 같다. Code가 아니라 Reposito..

Git | GitLab 2024.06.05
1 2 3