윈도우11에서 도커기반으로 설치구성하였고, 사설인증서를 적용하여 https 통신이 되도록 하였습니다.
간단히 빌드,배포 명령어가 실행되는지도 확인하였습니다.

 

먼저 https 통신을 위해 사설인증서를 준비합니다.

2025.03.30 - [devops] - 사설인증서 생성

 

사설인증서 생성

Gitlab 과 ArgoCD 를 https로 접근하기 위해 사설인증서를 생성합니다.웹브라우져에서 "이 연결은 안전합니다." 라고 나오게 됩니다. 사설인증서 생성저는 윈도우 git 클라이언트 설치해서 git bash 이

syjb.tistory.com

 

Gitlab 기동 및 설정

PS C:\Users\ky945> docker run -d --name SYgitlab `
       -p 443:443 `
       -v C:\Users\ky945\SYssl:/etc/gitlab/ssl `
       gitlab/gitlab-ce:latest

# -p 443:443 : Gitlab 서비스 포트로 설정합니다.
# -v C:\Users\ky945\SYssl:/etc/gitlab/ssl : ssl 인증서파일을 마운트합니다.

 
Gitlab이 모두 기동완료되기 까지 기다립니다.

# 컨테이너로 진입합니다.
PS C:\Users\ky945> docker exec -it SYgitlab /bin/bash

# 기동완료되기까지 모니터링 합니다.
watch gitlab-ctl status

Gitlab 설정파일 수정

# Gitlab 컨테이너에서 계속 진행합니다
# 설정파일을 오픈합니다.
vi /etc/gitlab/gitlab.rb

# 32라인
# 외부에서 Gitlab 접근시에 사용하는 도메인주소 입력
external_url 'https://gitlab.sytech.com'

# 1721,1722 라인
# 사설인증서 파일 위치 입력
nginx['ssl_certificate'] = "/etc/gitlab/ssl/sytech.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/sytech.com.key"

# 컨테이너를 빠져 나옵니다.
# 호스트에서 컨테이너 재기동
PS C:\Users\ky945> docker restart SYgitlab

 

Gitlab 접속확인

PC 웹브라우져에서 https://gitlab.sytech.com 접속합니다.

로그인 계정은 root 이고, 초기 패스워드 정보는 다음처럼 확인합니다.

# 컨테이너로 진입합니다.
PS C:\Users\ky945> docker exec -it SYgitlab /bin/bash

# 파일에 Password 부분을 확인합니다.
grep ^Pass /etc/gitlab/initial_root_password

 

로그인 되면 성공입니다.


빌드,배포 테스트 해보기

추가로 Gitlab-runner 를 설치해야합니다. 쉽게 말해 일을 시키는 매니저입니다.

PS C:\Users\ky945> docker run -d --name SYgitlab-runner `
      -v C:\Users\ky945\SYssl:/etc/SYssl:ro `
      gitlab/gitlab-runner
      
# C:\Users\ky945\SYssl:/etc/SYssl:ro : runner 등록할때 인증서 파일이 필요합니다.

 

Gitlab에 접속해서 runner를 등록해야합니다.

Gitlab로그인 -> 하단 Admin -> CI/CD -> Runners -> 아래값 입력후 Create runner 클릭

 Tags : SYbuild, SYdeploy 
 
 # SYbuild : CI파일에서 빌드하는 부분을 지정하는 나만에 단어입니다. 
 # SYdeploy : CI파일에서 배포하는 부분을 지정하는 나만에 단어입니다.

 

화면이 바뀌면서 안내 페이지가 보입니다.

주의!! token값을 사용해야합니다. 페이지를 나오지 말고 그대로 유지시킵니다.

이 상태에서 Gitlab-runner 컨테이너로 진입하고 다음 명령어를 실행합니다.

# Gitlab-runner 컨테이너로 진입합니다.
docker exec -it SYgitlab-runner /bin/bash

# runner를 등록합니다.
gitlab-runner register \                             
    --url https://gitlab.sytech.com \
    --token glrt-t1_NotdgSzy_iU3kU4rhuax \
    --executor shell \
    --name SYrunner \
    --tls-ca-file /etc/SYssl/sytech.com.crt

# --token : 안내페이지 Step 1 에 있는 토큰값을 입력합니다.
# --tls-ca-file : gitlab.sytech.com 도메인에 인증서파일 위치를 지정합니다.

# 이후부터는 설정한 값들이 맞는건지 물어봅니다.
# 계속 엔터 엔터 치시면됩니다.

주의!! 인증서파일을 지정하지 않으면 신뢰되지않는 인증서 에러 납니다.

 

안내 페이지 하단에 "You've registered a new runner!" 나오면 등록이 성공된겁니다.

 

다음으로 프로젝트를 하나 생성합니다. 

Create a project -> Create blank project -> 다음처럼 입력하고 Create porject 클릭

# 프로젝트 이름
Project name : SYgitops

# 계정을 선택
Project URL : root

# 프로젝트 이름 입력되면 자동입력됩니다. 대문자는 소문자로 변환됨
Project slug : sygitops

 

PC와 Gitlab 간에 연결구성합니다.

먼저 윈도우용 Git Client를 설치합니다.

https://git-scm.com/downloads/win

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.49.0) 64-bit version of Git for Windows. This is the most recent maintained build. It was released on 2025-03-17. Other Git for Windows downloads Standalone Installer 32-bit Git for Windows Setup. 6

git-scm.com

 

Git Client 설치완료하고 PowerShell에서 다음 명령어를 실행합니다.

# 작업 디렉토리 생성
PS C:\Users\ky945> mkdir SYgit
PS C:\Users\ky945> cd SYgit

# 로컬에 Git 초기화
PS C:\Users\ky945\SYgit> git init
Initialized empty Git repository in C:/Users/ky945/SYgit/.git/

# 원격 Git 저장소 등록
PS C:\Users\ky945\SYgit> git remote add origin https://gitlab.sytech.com/root/sygitops.git

# Main 브랜치 연결
PS C:\Users\ky945\SYgit> git branch -M main

# Git 저장소 main에 파일을 다운로드 받습니다.
PS C:\Users\ky945\SYgit> git pull origin main
warning: missing OAuth configuration for gitlab.sytech.com - see https://aka.ms/gcm/gitlab for more information

#여기서 "Connect to Gitlab" 작은 팝업창이 뜨면서 Username 과 token을 입력하라고 나옵니다.
#최초연결시에만 나옵니다. 저는 Password 방식으로 선택해서 Username, Password 입력하고 "Sign in" 하였습니다.

git: 'credential-manager-core' is not a git command. See 'git --help'.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 2.77 KiB | 258.00 KiB/s, done.
From https://gitlab.sytech.com/root/sygitops
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main

# Git 저장소에 다운로드 받은 파일을 확인합니다.
# README.md 파일이 보이면 성공입니다.
PS C:\Users\ky945\SYgit> ls -Force

    디렉터리: C:\Users\ky945\SYgit

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d--h--      2025-03-30   오전 9:54                .git
-a----      2025-03-30   오전 9:54           6255 README.md

 

CI파일을 생성합니다.

간단하게 빌드할때 실행할 명령어, 배포할때 실행할 명령어를 작성합니다.

주의!! gitlab-ci.yml 파일명 은 정해진겁니다. 다른파일명 안됩니다.

PS C:\Users\ky945\SYgit> notepad .gitlab-ci.yml

stages:
  - build
  - deploy

build-job:
  stage: build
  tags:
    - SYbuild
  script:
    - echo "Building the application..."
    - hostname
    - echo "Build complete."

deploy-job:
  stage: deploy
  tags:
    - SYdeploy
  script:
    - echo "Deploying to Test server"
    - hostname
    - echo "Deployment complete."

# SYbuild, SYdeploy : Gitlab-runner 생성할때 입력한 tag 값과 동일하게 입력합니다.

 

CI파일을 Gitlab 저장소로 push 하고 Pipelines 결과를 확인합니다.

# 현재 생성된 파일을 추가합니다.
PS C:\Users\ky945\SYgit> git add .

# 설명을 작성합니다.
PS C:\Users\ky945\SYgit> git commit -m ".gitlab-ci.yml 파일추가됨"
[main 4f4fabd] .gitlab-ci.yml 파일추가됨
 1 file changed, 21 insertions(+)
 create mode 100644 .gitlab-ci.yml
 
# Git저장소에 최종 push 합니다.
PS C:\Users\ky945\SYgit> git push -u origin main
git: 'credential-manager-core' is not a git command. See 'git --help'.
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 460 bytes | 460.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://gitlab.sytech.com/root/sygitops.git
   caf6829..4f4fabd  main -> main
branch 'main' set up to track 'origin/main'.
PS C:\Users\ky945\SYgit>

 

Gitlab 좌측 Build -> Pipelines -> Passed 보이면 성공입니다.

 

'도커 환경' 카테고리의 다른 글

Gitops 구성하기v2  (0) 2025.03.30
사설인증서 생성  (1) 2025.03.30
ArgoCD 설치구성v2  (0) 2025.03.29
Gitlab container registry 설치구성  (0) 2025.03.28

+ Recent posts