UBUNTU 서버에 GITEA 설치

이 문서에서 핵심이 되는 단어는 “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, “OPTIONAL” 입니다. 이것은 RFC 2119 에서 정의한 뜻과 내용을 기준으로 합니다.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

Gitea 설치

설치형 GIT의 한 종류인 Gitea는 간편한 설치 및 설정과 라즈베리파이에도 구동 가능한 가벼움으로 인기있는 패키지입니다.

Gitea를 사용하기 위하여 반드시(MUST) git 패키지를 설치해야 합니다. Gitea는 Git을 기반으로 하여 저장소를 생성하고, 복제하고, 가져오는 등의 모든 작업을 수행하는 과정에 Git을 사용합니다. Git이 설치되지 않으면 Gitea가 기본 기능을 수행할 수 없습니다.

Bash
sudo apt install git

Gitea는 git 패키지의 버전이 2.0 이상인 경우 정상 동작합니다.

Bash
git --version

아래는 가장 최신 버전의 gitea 바이너리를 다운로드하는 스크립트니다.

Bash
#!/bin/bash

sudo apt-get update
sudo apt-get install -y jq wget

json_url="https://dl.gitea.com/gitea/version.json"
latest=$(curl -s $json_url | jq -r '.latest.version')
download_url="https://dl.gitea.com/gitea/${latest}/gitea-${latest}-linux-amd64"

wget -O gitea $download_url

chmod +x gitea

Gitea 사용하기

로컬 서버에 반드시(MUST) gitea를 구동할 계정과 디렉토리 구조를 만들어야 합니다.

Bash
adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
git
Bash
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea

Gitea 바이너리를 반드시(MUST) 모든 사용자가 접근 가능한 전역 위치로 복사합니다.

Bash
cp gitea /usr/local/bin/gitea

Gitea를 단일 파일로 사용하거나 서비스로 등록하는 과정 두 가지 중 하나를 선택(OPTIONAL)하여 사용 가능합니다.

Gitea를 단일 파일로 사용하기

Gitea를 단일 파일로 사용하는 경우 올바른 작업 디렉터리를 일관되게 사용하도록 반드시(MUST) 아래의 환경 변수를 영구적으로 설정하는 작업이 필요 합니다.

Bash
export GITEA_WORK_DIR=/var/lib/gitea/

Gitea 리눅스 서비스로 등록하기

Gitea를 Linux 서비스로 등록하는 경우 서비스 파일에서 작업 경로를 직접 지정할 수 있습니다.

Bash
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=notify
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
WatchdogSec=30s

[Install]
WantedBy=multi-user.target

가이드와 동일한 과정으로 Gitea를 설정하였다면 아래의 파일을 다운로드하여 사용할 수도 있습니다(MAY).

Bash
wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service
sudo mv gitea.service /etc/systemd/system/

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다