IT/CI CD

[Jenkins+Gitlab CI/CD] (1) 깃랩 설치 및 기본 설정, VSCODE 연동 테스트

nyub 2023. 9. 20. 16:49
반응형


  1. docker, vscode, git 설치는 따로 다루지 않았습니다
  2. Jenkins pipeline에서 docker와 k8s를 사용하기 위해, Jenkins가 올라 가있는 인스턴스에 도커와 k8s 설치되어있습니다. → Jenkins 컨테이너 올릴 때 도커, k8s 바이너리 파일 볼륨 매핑하여 Jenkins 컨테이너 안에서 명령어 사용 할 수 있도록 하였습니다.
  3. Jenkins 컨테이너 안에서 NCR login이 되어있습니다. (docker login ~~)
  4. Jenkins와 Gitlab은 각자의 인스턴스에 docker로 올라 가있습니다.

 

현재 구성은

VSCode에서 Gitlab에 소스코드 push →

gitlab 소스코드 업로드 →

jenkins에서 git 소스 변경 감지 →

파이프라인 작동 →

Jenkins 서버에서 소스코드 기반 도커이미지 생성 →

생성된 도커이미지 NCR에 PUSH →

Pod 적용 입니다.

 

Jenkins 서버 - 도커 설치, k8s 설치, 클러스터에 접근 가능한 상태

Gitlab 서버 - 도커 설치

서로 다른 인스턴스에 설치 진행하였습니다.

 

  1. Gitlab 설치 및 기본 설정

1. 깃랩 컨테이너 올리기

docker run --detach \
  --hostname gitlab.example.com \
  --publish 1980:80 --publish 1922:22 --publish 19443:443 \
  --name gitlab \
  --restart always \
  --volume $HOME/gitlab/config:/etc/gitlab \
  --volume $HOME/gitlab/logs:/var/log/gitlab \
  --volume $HOME/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

 

2. 깃랩 컨테이너 접속 및 초기 비밀번호 확인

cat /etc/gitlab/initial_root_password

 

3. 접속

http://<ip 주소>:1980

4. 새로운 User 생성 (생성 완료 후 새로운 ID로 접속 해주세요)

 

  2. VScode↔Gitlab 연동 확인

vscode 설치 및 git 연동은 검색하시면 많이 나옵니다. 이 글에서는 이미 설치되어 있다는 가정하에 확인만 진행하겠습니다.

 

1. 테스트 파일 git push

 

2. gitlab 업로드 확인

 

  3. Gitlab 설정 (Network, Webhook)

1. root 계정으로 접속 후 그림과 같이 이동

2. Allowed Request 체크 후 화이트리스트 작성

3. 본인 계정으로 돌아와서, 본인이 만든 레포지토리 클릭 후 Webhook

 

4. 기호에 맞게 설정. (여기서 사용하는 URL과 Secret token은 젠킨스 설정 부분에서 확인 가능합니다.)

5. Webhook TEST 진행

반응형