전체 글 1290

[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

[Python] Redis - with문을 사용한 연결

개요2023.06.03-[Python] redis 사용하기, 2024.08.14-[Python] Redis - 비동기 연결에서 redis-py 공식 문서를 참조해 Python으로 Redis에 연결하고 작업을 수행해 보았다. 그 후, 컨텍스트 매니저라는 개념을 새로 알게 되었는데…… Redis 연결도 컨텍스트 매니저로 관리하는 게 좋아 보였다. 공식 문서에서는 with 문 사용 없이 일반적인 방법만 기재되어 있는데, 이번 글에서 with문을 사용한 연결이 가능한지 확인해보려고 한다.   with문 사용 가능 여부결론만 말하자면 동기 방식, 비동기 방식 모두 with 문 사용이 가능하다.2025.01.15-[Python] context manager - 리소스 관리에서 with 문을 사용하기 위해서는 __e..

Python 2025.02.13

[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

[Airflow] Params - 런타임 매개 변수

개요2025.01.23-[Airflow] 2.5.1 -> 2.8.2 업그레이드 후 Trigger DAG w/ config 미노출 현상에서 Dag의 매개변수를 전달하는 새로운 방법이 있다는 것을 알게 되었다. 해당 글에서는 기존 매개변수 전달 방식을 유지하기 위한 방법에 초점을 맞춘 글을 작성했는데, 이번에는 새로운 매개변수 전달 및 사용 방법에 대해서 알아보려고 한다.  ParamsAirflow Params는 Dag에 런타임 구성을 제공하여, Dag와 Task에 값을 전달하는 방법이다. Dag 정의 코드에서 구성하면 Dag를 트리거할 때 추가로 매개변수를 전달하거나 기존에 설정되어 있던 값을 덮어쓴다. 또한 Trigger UI Form을 렌더링 하는 데 사용한다. Dag 수준 매개변수Task에 전달되는 ..

Apache Airflow 2025.02.11

[Airflow] 2.5.1 -> 2.8.2 업그레이드 후 Trigger DAG w/ config 미노출 현상

개요Airflow 버전 2.5.1에서 취약점이 발견되어 2.8.2 버전으로 업그레이드를 진행했다. 진행 후에 Airflow WebServer에서 Dag Trigger 시 Trigger DAG w/ config 버튼이 노출되지 않는 것을 확인했다. 기존 (2.5.1) 현재 (2.8.2) 원인을 파악하고 수정해 보자.  원인 - Trigger UI Form이 현상의 원인은 Airflow 2.6.0에서 도입된 Trigger UI Form 기능과 관련이 있다.Airflow 2.6.0에서는 Dag 수준에서 params 매개변수가 정의되어 있으면 사용자 친화적인 트리거 양식을 렌더링 해준다. 트리거 양식은 Trigger DAG 버튼을 누르면 제공된다.렌더링 되는 트리거 양식은 DAG 객체의 params로 전달된 값..

Apache Airflow 2025.02.10

[AWS] 여러 계정 콘솔에 로그인

개요최근 AWS 콘솔에 로그인했더니 아래와 같은 알림이 생긴 것을 발견했다. 대충 내용을 보면 멀티 세션 지원이라는 기능을 통해 같은 웹 브라우저에서 여러 개의 AWS 계정에 로그인할 수 있다는 내용 같았다. 업무에서 AWS 계정을 여러 개 사용하고 있는데, 기본적으로 브라우저 하나에 하나의 AWS 계정에 접속할 수 있기 때문에 동시 접속이 필요한 경우에는 시크릿 창을 활용해야 하는 등의 불편함을 느끼고 있었다. 개인적으로 환영할 만한 개선 사항인 것 같아 바로 사용 방법을 알아보았다.   멀티 세션멀티 세션 기능은 단일 웹 브라우저에서 최대 5개의 계정에 동시 로그인할 수 있게 해 준다. 아예 다른 계정이나, 같은 계정의 루트 사용자, IAM, 역할이 될 수 있다.사용 방법은 다음과 같다. 1. 콘솔 ..

AWS 2025.02.07