#1. 왜 gitea?
사내용 폐쇄망에 self-hosted git remote 서버를 설치하려고 찾아보면 gitea, gogs, gitlab, bitbucket 등등 몇가지 대안들이 나오게 됩니다. 그 중 gitea를 선택하게 된 이유를 알아보도록 합시다.
아래 표는 gitea 홈페이지에서 가져온 다른 git hosting 툴과의 비교내용 중 일부입니다.
Gitea compared to other Git hosting options - Docs
General Features
- ✓ - supported
- ⁄ - supported with limited functionality
- ✘ - unsupported
Feature | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
Open source and free | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ |
Low RAM/ CPU usage | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ |
Multiple database support | ✓ | ✓ | ✘ | ⁄ | ⁄ | ✓ | ✓ |
Multiple OS support | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ |
Easy upgrades | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
Repository code search | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
당연히 gitea 의 장점을 부각시켜서 작성한 자료겠지만 실제 gitea, gogs, gitlab을 모두 사용해 본 후
결국 gitea에 정착하게 됐습니다.
일단 windows서버에 쉽게 설치가 가능한가? 라는 선택지에서 상당히 많은 툴이 걸러져나가고,
이만큼 가볍고 간편하게 사내용 git 서버를 구축하면서 다양한 기능까지 제공해주는 툴은 gitea가 유일했습니다.
앞으로 github actions 와 유사한 gitea actions 기능도 개발중이니 CI/CD 쪽 기능도 더욱 강화될 것 같습니다.
gitea actions 관련 내용
Feature Preview: Gitea Actions - Blog
#2. Gitea 다운로드
gitea는 지속적으로 활발하게 업데이트가 이루어지고 있는데,
아래 공식 github 저장소에서 릴리즈 버전을 다운로드 받도록 합시다.
Releases · go-gitea/gitea (github.com)
현재 기준 최신버전은 1.18.5입니다. Assets 에 수많은 버전들이 있지만, 우리는 windows x64에 설치할 예정이기 때문에
gitea-1.18.5-windows-4.0-amd64.exe 파일을 다운로드 받아줍니다.
(설치 후에도 버전은 쉽게 올리고 내릴 수 있으니 설치OS만 맞다면 버전에 관한 부담은 내려놓아도 됩니다.)
다운로드 받은 .exe 파일을 설치하고 싶은 폴더에 옮겨놓는 것 까지하면 설치는 절반 이상 끝난거나 다름 없습니다.
저는 일단 아래 경로에 설치하도록 하겠습니다.
#3. 설치
위 경로에서 그냥 .exe 파일을 관리자 권한으로 실행하세요.
아래처럼 창이 뜨고 나면 http://localhost:3000 으로 접속해서 최초 설정을 이어갑니다.
아래 설치에서 신경써야 할 것은 데이터베이스 유형과 HTTP 포트 정도입니다.
기본적으로 별도의 DB와 연결하지 않아도 자체 SQLite와 함께 사용할 수 있고, Gitea의 기본 포트는 3000 입니다.
아래쪽에는 추가로 설정할 수 있는 항목들이 있는데, 제 기준으로 보통 사용자 직접 가입 불가능하도록 막습니다.
(신규 입사자 발생 시 관리자가 계정 생성 후 전달)
또 여기서 관리자 계정까지 한꺼번에 생성한 후 설치를 마무리 합니다.
Gitea 설치하기 버튼을 누르고 잠시 기다리면 로그인 화면으로 redirect되며 설치가 완료됩니다.
#4. windows 서비스 등록
아까 exe파일을 실행하면 cmd창이 하나 계속 떠 있을 겁니다.
이 창을 닫으면 gitea 서비스가 함께 내려가게 되는데 매번 이렇게 사용할 수는 없으니, windows 서비스로 등록하여 서버 재기동시에도 자동으로 항상 서비스가 유지되도록 설정해 봅시다.
일단 cmd창은 이제 닫고, 서버를 내려준 후 아래처럼 sc 명령어를 이용하여 windows 서비스로 등록합니다.
sc.exe create gitea start= auto binPath= "\"D:\STUDY\gitea\gitea-1.18.5-windows-4.0-amd64.exe\" web --config \"D:\STUDY\gitea\custom\conf\app.ini\""
등록된 gitea 서비스를 시작하고, 이제 자유롭게 url에 접속하여 사용할 수 있습니다.
#5. app.ini
서비스로 gitea를 등록하면서 함께 설정했던 app.ini 파일을 수정하여, 여러가지 기능들을 활용할 수도 있습니다.
1. 테마 수정
gitea는 default테마 이외에 arc-green이라는 테마도 자체적으로 지원합니다.
아래 내용을 app.ini에 추가하여 기본테마를 이 arc-green으로 변경하도록 하겠습니다.
또한, 사용자는 개인별로 테마를 default나 arc-green 으로 변경하여 각각 사용할 수도 있습니다.
[ui]
DEFAULT_THEME = arc-green
2. 업로드 파일 사이즈/개수
default로 설정되어 있는 파일 업로드 최대 사이즈는 3메가바이트, 한번에 올릴 수 있는 파일의 개수는 5개입니다.
이를 각각 100메가, 10개로 조정합니다.
[repository.upload]
FILE_MAX_SIZE = 100
MAX_FILES = 10
이외에도 다른 도메인과의 통신을 통한 웹훅, 미러 등의 기능을 사용하기 위해서는 cors 설정, LFS설정, ui 및 security 설정 등등을 app.ini 파일을 통해서 할 수 있습니다.
아래의 링크를 참조하세요.
Config Cheat Sheet - Docs (gitea.io)
여기까지 적용하고 난 후 서비스를 재시작하여 실행한 gitea 웹사이트의 모습은 다음과 같습니다.
ui template을 작성하여 위처럼 지저분한 화면을 꾸며줄 수도 있는데, template 작성 및 적용방법은 다음에 포스팅하도록 하겠습니다.
여기까지 해서 gitea의 설치 및 기본적인 환경 설정을 완료했습니다.
'DevOps > Git' 카테고리의 다른 글
[git] SVN을 Git으로 Migration 하기 (0) | 2021.09.17 |
---|---|
git fork 해서 공동작업 하기 (0) | 2021.03.30 |
git 풀 리퀘스트 하기 (0) | 2021.03.11 |
git commit 하기 (0) | 2021.03.11 |
git clone 하기 (0) | 2021.03.11 |
댓글