안녕하세요. 인포그랩 DevOps 엔지니어 Toma입니다. 오늘은 제가 인포그랩에 입사한 후, 온보딩을 거쳐 고객사의 DevOps 프로젝트에 투입된 과정을 공유하려 합니다. 특히 고객사의 GitLab 운영 안정화에 도움이 되도록 GitLab을 빠르게 마스터하고, 고객사 아키텍처를 신속히 파악해 업무에 적응한 방법을 주로 말씀드리겠습니다.
expertLABS로 GitLab 고속 학습

저는 경력직 DevOps 엔지니어로 인포그랩에 입사했습니다. 평소 저는 리눅스, Docker, Kubernetes, Git, Jenkins 파이프라인 기본 지식은 충분히 있었습니다. 그러나 GitLab은 Git을 사용하는 정도로 알고 있었습니다. 저는 경력이 있어서 입사 이후 고객사의 DevOps 프로젝트에 빨리 투입될 예정이었습니다. 따라서 단기간에 GitLab을 마스터하고, 고객사를 능숙하게 지원할 만큼 역량을 쌓아야 했습니다.
저는 GitLab을 신속히 마스터하기 위해 다양한 콘텐츠를 학습했습니다. 그중 가장 큰 도움이 된 콘텐츠는 expertLABS의 ‘GitLab 운영 시작하기’ 코스와 ‘리얼월드 앱으로 GitLab CI/CD 시작하기’ 코스였습니다. expertLABS는 인포그랩의 DevOps 전문 학습 솔루션입니다. 이는 버전 제어, CI/CD, GitOps, Infrastructure as Code(IaC), 컨테이너, 옵저버빌리티 등을 주제로 다양한 DevOps 학습 콘텐츠를 제공합니다.
저는 ‘GitLab 운영 시작하기’ 코스로 GitLab 운영의 기본과 실무를 배우고 실습했습니다. 이 코스에는 고객사의 GitLab 운영을 지원하는 데 도움이 되는 내용이 많았습니다. 제가 ‘GitLab 운영 시작하기’ 코스에서 배운 내용과 학습 효과는 다음과 같습니다.
- GitLab 설치, 설정: GitLab 설치 방법, 프로젝트 생성 방법, 리포지터리 관리 방법을 학습했습니다. 이로써 GitLab의 주요 기능과 컴포넌트를 이해했습니다.
- 백업, 복원 실습: GitLab 데이터를 안정적으로 운영하기 위한 백업 설정 방법과 복원 방법을 실습했습니다. 이 내용은 운영 환경 문제를 대비하는 데 도움이 됐습니다.
- CI/CD 파이프라인 설정: YAML 파일을 사용해 빌드, 테스트, 배포 단계를 나눈 파이프라인을 테스트했습니다. 이로써 GitLab CI/CD 기능 이해도를 높였습니다.
- Docker 기반 GitLab 실행: Docker로 GitLab을 실행해 로컬 환경에서 다양한 실험을 진행했습니다. 이로써 GitLab 설정 이해도가 향상됐습니다.
아울러 ‘리얼월드 앱으로 GitLab CI/CD 시작하기’ 코스에서는 CI/CD 개념과 GitLab Runner 설정 방법, Spring Boot 프로젝트 CI/CD 적용 방법을 학습하고 실습했습니다. 이 코스로 GitLab CI/CD 기초부터 파이프라인 작성법, 워크플로까지 두루 경험했습니다. 제가 ‘리얼월드 앱으로 GitLab CI/CD 시작하기’ 코스로 배운 내용과 학습 효과는 다음과 같습니다.
- 실무 환경에서 CI/CD A to Z 구현: 실무 관점에서 GitLab CI/CD를 구축하고 실습했습니다. 이로써 개인 프로젝트 수준뿐만 아니라 현업 실무 수준의 CI/CD 구현 경험을 쌓았습니다.
- 운영에 필요한 GitLab Runner 기본 구성 이해: GitLab Runner 역할과 설정 방법을 심층 학습했습니다. CI/CD 파이프라인을 원활하게 실행하기 위한 GitLab Runner 설정과 관리 노하우도 습득했습니다.
홈 랩 실습으로 학습 효과 극대화

저는 매주 학습한 내용을 노션에 기록했습니다. 주말이나 여유 시간이 있을 때, 노션에 정리한 문서를 다시 읽으며 복습했습니다. 특히 학습 효과를 극대화하기 위해 홈 랩(Home Lab)을 구축해 자주 실습했습니다.
홈 랩은 학습과 실습을 위해 개인이 가정에 구축한 소규모 IT 인프라 환경입니다. 이는 서버, 네트워크 장비, 저장 장치를 활용해 실제 기업 환경과 비슷한 환경에서 실습하도록 구성합니다. 주로 사용하지 않는 PC로 홈 랩을 구성하며, 공유기의 포트 포워딩 기능으로 개인 도메인을 추가해 실습 환경을 구축할 수 있습니다.
저의 홈 랩도 이러한 방식으로 구축했습니다. 현재도 학습한 내용을 홈 랩으로 실습하고 복습하며 이해도를 높입니다. 다음은 저의 홈 랩 환경입니다.
- Master Server 상세
- CPU : AMD GX-424CC
- RAM : 16GB
- OS : Ubuntu 22.04
- Runner Server 상세
- CPU : Intel(R) Celeron(R) 2957U
- RAM : 16GB
- OS : Ubuntu 22.04
저는 이러한 홈 랩 환경을 활용해 CI/CD를 학습했습니다. 구성은 Master Server에서 파이프라인 요청을 하고, Runner Server가 이를 실행하는 방식으로 설정했습니다. 보안을 강화하기 위해 기본 포트(22, 80, 443 등)는 사용하지 않았습니다. 이는 트래픽 부하, 랜섬웨어와 같은 보안 취약점을 줄이기 위함입니다.
홈 랩은 단기간에 GitLab 학습 효율을 높이는 데 유익했습니다. 기술을 심화 학습하고 실습하는 환경이 집에도 있으니 언제든지 기술을 공부하고, 실험하며, 검증할 수 있었습니다. 이러한 방식으로 GitLab Runner 설정, CI/CD 구성, 배포 전략 등 다양한 실무를 단계별로 깊이 있게 이해할 수 있었습니다. 나아가 DevOps, 네트워크 관리, 시스템 운영 등 지식을 실습으로 쉽고 빠르게 익힐 수 있습니다.