본문 바로가기
[AWS]/GITLAB

[AWS] 내부망 GITLAB 설치

by METAVERSE STORY 2022. 7. 4.
반응형
728x170

 

1-6) devstack-juniper 서버에 GitLab 설치 (2020-12-30) (https://teamlab.github.io/jekyllDecent/blog/tutorials/%EB%82%98%EB%A7%8C%EC%9D%98-Git-%EC%84%9C%EB%B2%84-Gitlab-%EA%B5%AC%EC%B6%95)
# 설치
# 1) 기초 소프트웨어 설치
$sudo apt-get install curl openssh-server ca-certificates postfix
- postfix 선택 옵션은 우선 No configuration 선택
- 메일 발신 관련 내용으로 여기서는 다루지 않음

# 2) Gitlab 패키지 프로그램 저장소 추가
$curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

# 3) 저장소 목록 업데이트
$sudo apt-get update

# 4) Gitlab Community Edition 설치
$sudo apt-get install gitlab-ce

# 5) GitLab 초기 설정
$sudo gitlab-ctl reconfigure
- Gitlab을 구성하는 gitlab.rb 루비 형식의 파일로 초기 설정을 하는 명령어이다.



# Gitlab 설정
- Gitlab과 관련한 설정(메일,외부 url …)은 파일을 수정함으로 이뤄진다.
$sudo vi /etc/gitlab/gitlab.rb

- 대표적으로 바꿀 곳은 3가지로 external_url, gitlab_workhorse[‘auth_backend’], unicorn[‘port’] 이다.
- 서버에 80, 8080포트가 비어있다면 크게 다루지 않아도 되나. 서버 80, 8080포트에 웹페이지,
Apache 서버를 구동 하고 있는 경우가 있기에 수정하는 것을 권장한다.
- Gitlab은 추가 설정을 하지 않을 시 80 포트를 설정한다.
- 따라서 만약 수정을 하지 않을 시 포트 내부에서 충돌이 일어나 502 에러가 뜨게 될 것이다.

# 1) external_url - external_url 변경
- 32 external_url 'http://52.79.43.XXX:9000'
- ip 또는 localhost 둘 중 하나를 입력 후 포트 번호는 80번, 8080을 피해서 하기를 바란다.

# 2) gitlab_workhorse & puma 변경 (https://docs.gitlab.com/omnibus/settings/puma.html#worker-timeout)
- 820 gitlab_workhorse['auth_backend'] = "http://localhost:9001" 변경
- puma 변경 (unicorn 다음 최신버전)
: 937 puma['port'] = 9001


# Gitlab 적용 및 재시작
- $sudo gitlab-ctl reconfigure
- $sudo gitlab-ctl restart
- $sudo gitlab-ctl status

# Gitlab 접속
- http://52.79.43.XXX:9000 (root / gitlabXXX)
- 그룹생성 (OPENEDX / Internal 생성)
- 프로젝트 생성 (깃허브 복사 성공, 신규 생성, 템플릿 생성)
: LMS_USER1 멤버 등록 성공

- 유저추가 (로그인 창에서 Register now 클릭)
: LMS_USER1 / LMS_USER1 / LMS_USER1@inno.com
: root 관리자 승인후, 로그인 가능
: 로그인시 Role 선택 (Software Developer)

- git clone
: 서버의 프로젝트 URL을 카피 하여 git clone 명령어 뒤에 붙이면 폴더에 서버에서 만든 프로젝트가 복사된다.
: $cd '다운 위치 폴더'
: $git clone http://'gitlab주소 : 포트'/ID/프로젝트명
: $cd 프로젝트명
: ubuntu@ip-10-20-18-211:~/example/devstack$ git clone http://52.79.43.XXX:9000/openedx/devstack.git

- git push
: 로컬의 클라이언트 컴퓨터에서 작업을 완료한 후 서버에 있는 프로젝트에 합치는 방법은 git add, git commit, git push의 순서로 이루어진다.
: 예시로 로컬에서 test.txt 파일을 생성 후 push하는 것으로 하겠다.
: ubuntu@ip-10-20-18-211:~/example/devstack$ git config --global user.email "dhrXXX@gmail.com"
: ubuntu@ip-10-20-18-211:~/example/devstack$ git config --global user.name "root"

: $echo "Gitlab is easy">test.txt
: $git add test.txt
: $git commit -m "테스트 문서 추가"
: $git push -u origin master
: git push가 이뤄질 때 계정과 패스워드를 입력하면 git push가 진행된다. (root / gitlabXXX)

- 내부 젠킨스와 내부 Gitlab 연동
: Repository URL -> http://52.79.43.XXX:9000/openedx/webAppExample.git
: Credentials 생성 필요 (root 말고 신규계정 필요 - LMS_USER1) (https://windowshyun.tistory.com/30)
_"Username"은 Github 닉네임, "Password"는 Github 비밀번호, "ID"는 Github 아이디, "Description"은 설명을 작성해 주신 후 "Add"버튼을 눌러 줍니다.

: Branch Specifier (blank for 'any') -> */master
: Build whenever a SNAPSHOT dependency is built -> 선택

: Build - Root POM -> pom.xml
: Build - Goals and options -> clean package

: 빌드 후 조치 - WAR/EAR files -> **/*.war
: 빌드 후 조치 - Context path -> webAppExample
: 빌드 후 조치 - Containers - Credentials -> deployer/deplXXXX
: 빌드 후 조치 - Containers -Tomcat URL -> http://52.79.43.XXX:8080/

 

 

반응형
그리드형

댓글