본문 바로가기
DevOps/Git

Gitea 설치 - 사내용 git remote 서버 구축(Windows)

by 오이가지아빠 2023. 2. 25.

#1. 왜 gitea?

사내용 폐쇄망self-hosted git remote 서버를 설치하려고 찾아보면 gitea, gogs, gitlab, bitbucket 등등 몇가지 대안들이 나오게 됩니다. 그 중 gitea를 선택하게 된 이유를 알아보도록 합시다.
 
아래 표는 gitea 홈페이지에서 가져온 다른 git hosting 툴과의 비교내용 중 일부입니다.
Gitea compared to other Git hosting options - Docs

 

Gitea compared to other Git hosting options - Docs

 

docs.gitea.io

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

 

Feature Preview: Gitea Actions - Blog

 

blog.gitea.io

 

#2. Gitea 다운로드

gitea는 지속적으로 활발하게 업데이트가 이루어지고 있는데, 
아래 공식 github 저장소에서 릴리즈 버전을 다운로드 받도록 합시다.
Releases · go-gitea/gitea (github.com)

 

Releases · go-gitea/gitea

Git with a cup of tea, painless self-hosted git service - 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)

 

Config Cheat Sheet - Docs

 

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

댓글