윈도우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 |