1. GitLab
1.1. 정의
Git의 원격 저장소와 코드 리뷰, 이슈 트레커 기능등을 제공하는 소프트웨어이다. 패키지는 3가지로 GitLab CE, GitLab EE, GitLab.com 3가지로 CE는 무료로 사용하는 버전이고, EE는 매월 유저당 요금을 지불하는 형식 .com 은 클라우드형태로 개인이 가입하여 사용하는 서비스이다.
1.2. 특징
1.3. 설치 과정
[admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ helm repo add gitlab https://charts.gitlab.io/ [admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ helm repo update [admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ helm pull gitlab/gitlab [admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ tar xvfz gitlab-7.2.4.tgz [admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ rm -rf gitlab-7.2.4.tgz [admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ mv gitlab gitlab-7.2.4 [admin@ubu22-01 ~/Documents/ (kubernetes-admin@cluster.local:default)]$ cd gitlab-7.2.4 [admin@ubu22-01 ~/Documents/gitlab-7.2.4 (kubernetes-admin@cluster.local:default)]$ cp values.yaml my-values.yaml [admin@ubu22-01 ~/Documents/gitlab-7.2.4 (kubernetes-admin@cluster.local:default)]$ vi my-values.yaml ... 26 global: 40 edition: ee 51 hosts: 52 domain: myweb.io 846 certmanager-issuer: 942 prometheus: 943 install: false 1181 gitlab-runner: 1182 install: false [admin@ubu22-01 ~/Documents/gitlab-7.2.4 (kubernetes-admin@cluster.local:default)]$ k create ns gitlab [admin@ubu22-01 ~/Documents/gitlab-7.2.4 (kubernetes-admin@cluster.local:default)]$ k ns gitlab [admin@ubu22-01 ~/Documents/gitlab-7.2.4 (kubernetes-admin@cluster.local:default)]$ helm install gitlab -f my-values.yaml . [admin@ubu22-01 ~ (kubernetes-admin@cluster.local:gitlab)]$ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ... gitlab-nginx-ingress-controller LoadBalancer 10.233.62.204 192.168.100.62 80:31014/TCP,443:30423/TCP,22:31104/TCP 1m ... [admin@ubu22-01 ~ (kubernetes-admin@cluster.local:gitlab)]$ k get secrets gitlab-gitlab-initial-root-password --template={{.data.password}} | base64 -d agalv%iudqHi7od7oijae73n55miuhiu9 |
1.4. WEB 확인
1) root계정 비밀번호 확인
[kevin@ubu22-01 ~/gitlab (kubernetes-admin@cluster.local:gitlab)]$ k get secrets gitlab-gitlab-initial-root-password --template={{.data.password}} | base64 -d gUkoILCtV9rYmdeZEKtAmDdxoFDilnRkB7g5KRpaEKLiMR7MOpAxIamXsPCT9lci |
2) gitlab 페이지 로그인
3) 루트 패스워드 변경
4) 유저 생성
5) 관리가 계정에서 승인
생성된 유저 확인
유저 승인
활성화된 유저 확인
6) 유저 계정으로 로그인
프로젝트 생성
프로젝트 타입 지정
빈 프로젝트 생성
프로젝트 업로드
1.5. git clone으로 불러오기
# 다운로드 위치 지정 [kevin@ubu22-01 ~/gitlab (kubernetes-admin@cluster.local:gitlab)]$ cd ~ [kevin@ubu22-01 ~ (kubernetes-admin@cluster.local:gitlab)]$ mkdir gitlab-test [kevin@ubu22-01 ~ (kubernetes-admin@cluster.local:gitlab)]$ cd gitlab-test/ # git설정을 변경 [kevin@ubu22-01 ~/gitlab-test (kubernetes-admin@cluster.local:gitlab)]$ git config --global http.sslVerify false # 구성한 gitlab에서 다운로드 [kevin@ubu22-01 ~/gitlab-test (kubernetes-admin@cluster.local:gitlab)]$ git clone https://gitlab.myweb.io/kevin/testproject.git Cloning into 'testproject'... Username for 'https://gitlab.myweb.io': kevin Password for 'https://kevin@gitlab.myweb.io': 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 Receiving objects: 100% (3/3), done. # 확인 [kevin@ubu22-01 ~/gitlab-test (kubernetes-admin@cluster.local:gitlab)]$ cd testproject/ [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ ll total 20 drwxrwxr-x 3 kevin kevin 4096 8월 24 15:05 ./ drwxrwxr-x 3 kevin kevin 4096 8월 24 15:04 ../ drwxrwxr-x 8 kevin kevin 4096 8월 24 15:05 .git/ -rw-rw-r-- 1 kevin kevin 6180 8월 24 15:05 README.md |
1.6. gitlab에 업로드
# 업로드할 디렉토리를 가져온다. [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ cp -r ~/gitlab/ . # 확인 [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ ll total 24 drwxrwxr-x 4 kevin kevin 4096 8월 24 15:06 ./ drwxrwxr-x 3 kevin kevin 4096 8월 24 15:04 ../ drwxrwxr-x 8 kevin kevin 4096 8월 24 15:05 .git/ drwxrwxr-x 3 kevin kevin 4096 8월 24 15:06 gitlab/ -rw-rw-r-- 1 kevin kevin 6180 8월 24 15:05 README.md # 현재 위치의 디렉토리를 올리고 주석을 단다. [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ git add . && git commit -m "initial commit - add gitlab helm chart" warning: adding embedded git repository: gitlab/gitlab/charts/gitlab-zoekt hint: You've added another git repository inside your current repository. hint: Clones of the outer repository will not contain the contents of hint: the embedded repository and will not know how to obtain it. hint: If you meant to add a submodule, use: hint: hint: git submodule add <url> gitlab/gitlab/charts/gitlab-zoekt hint: hint: If you added this path by mistake, you can remove it from the hint: index with: hint: hint: git rm --cached gitlab/gitlab/charts/gitlab-zoekt hint: hint: See "git help submodule" for more information. Author identity unknown *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: unable to auto-detect email address (got 'kevin@ubu22-01.(none)') // 이메일 등록이 안되어있음. # 등록 유저와 이메일 git에 등록 [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ git config --global user.name "kevin" [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ git config --global user.email "gemtd03@gmail.com" # 재시도 [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ git add . && git commit -m "initial commit - add gitlab helm chart" [main 86137d6] initial commit - add gitlab helm chart 701 files changed, 71360 insertions(+) create mode 100644 gitlab/gitlab/CHANGELOG.md create mode 100644 gitlab/gitlab/CONTRIBUTING.md create mode 100644 gitlab/gitlab/Chart.yaml create mode 100644 gitlab/gitlab/LICENSE.md create mode 100644 gitlab/gitlab/README.md . . . // 정상동작 # gitlab에 올린다. [kevin@ubu22-01 ~/gitlab-test/testproject (kubernetes-admin@cluster.local:gitlab)]$ git push Username for 'https://gitlab.myweb.io': kevin Password for 'https://kevin@gitlab.myweb.io': Enumerating objects: 757, done. Counting objects: 100% (757/757), done. Delta compression using up to 2 threads Compressing objects: 100% (744/744), done. Writing objects: 100% (756/756), 682.30 KiB | 4.49 MiB/s, done. Total 756 (delta 230), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (230/230), done. To https://gitlab.myweb.io/kevin/testproject.git 7ec7366..86137d6 main -> main |
확인