Gogs는 로컬 Git 서버를 실행하는 가장 쉬운 방법입니다(설정 방법은 다음과 같습니다).
게시 됨: 2023-01-03호스팅된 Git 리포지토리에 코드를 푸시하고 싶지 않으세요? 그런 다음 자체 Git 서버를 사내에서 실행합니다. Gogs가 가장 쉬운 방법입니다. 설정 방법은 다음과 같습니다.
클라우드 호스팅 리포지토리의 문제
곡스란?
Gogs 설치 방법
Gogs 둘러보기
가장 쉬운 Git 서버 - 바 없음
클라우드 호스팅 리포지토리의 문제
의심할 여지 없이 Git은 뛰어난 버전 제어 시스템입니다. 단일 개발자 프로젝트에서도 Git은 버전 관리 기능으로 인해 가치와 이점을 제공합니다. 다중 개발자 프로젝트의 경우 Git은 완전히 다른 차원을 제공합니다. 중앙의 원격 리포지토리를 통해 Git은 개발 팀이 버전 제어를 보는 방식을 변환하는 협업 기능을 활성화합니다.
이것이 바로 GitHub, GitLab, BitBucket과 같은 서비스가 존재하는 이유이며 이러한 서비스의 활용과 성장을 목격한 이유입니다. GitHub에서만 2억 개 이상의 리포지토리를 호스팅합니다. 그러나 클라우드 호스팅 리포지토리는 모든 사람에게 적합하지 않습니다. 대부분은 개인 리포지토리 호스팅 비용을 청구합니다. 그들 중 일부는 무료 계정에 스토리지 제한, 사용자 제한 또는 데이터 전송 제한을 부과합니다.
사용량과 팀 규모가 무료 계정의 제한 사항에 맞거나 상용 라이센스 비용을 지불할 의향이 있더라도 코드 베이스를 클라우드에 저장하는 것이 불편할 수 있습니다.
대안은 자체 네트워크에서 로컬로 또는 자체 사설 클라우드에서 비공개로 액세스할 수 있는 자체 Git 서버를 호스팅하는 것입니다. GitHub와 친구들이 어느 정도의 기술을 요구하는 데 사용하여 인기를 끌었던 모양, 느낌 및 옵션이 포함된 웹 인터페이스를 제공하는 Git 서버를 설정합니다. 바로 여기에서 Gogs가 등장합니다.
곡스란?
Gogs는 Go로 작성된 비교적 새로운 프로젝트로 설치하기 쉬우면서도 완전한 기능을 갖춘 Git 인스턴스를 제공합니다. 팀 규모, 스토리지 또는 기타 항목에는 제한이 없습니다.
취미로 하는 프로그래머라도 로컬 네트워크에서 Gogs를 Git 서비스로 사용하면 개발 시스템에서 멀리 떨어진 곳에 코드 사본을 저장할 수 있습니다. 귀하 또는 다른 사람이 다른 컴퓨터 또는 새 컴퓨터에서 작업하려는 경우 GitHub에서와 마찬가지로 Gogs 서버에서 리포지토리를 복제하기만 하면 됩니다.
Gogs를 자주 사용하려는 경우 실행 중인 컴퓨터의 시작 응용 프로그램에 Gogs를 추가하는 것이 편리할 것입니다.
관련: systemd로 시작할 때 Linux 프로그램을 실행하는 방법
Gogs 설치 방법
Gogs를 설치하려면 적절한 아카이브 파일을 다운로드하고 압축을 푼 다음 기본 바이너리를 실행합니다. 몇 가지 양식을 작성하면 Gogs가 저장소를 초기화하고 관리자로 추가합니다. 그런 다음 Gogs 인스턴스를 탐색하고 사용자를 추가하고 리포지토리를 생성할 수 있습니다.
Gogs는 백엔드 스토리지로 데이터베이스를 사용합니다. MySQL, MariaDB, PostgreSQL 및 TiDB를 지원합니다. 이러한 강력한 데이터베이스 엔진 중 하나를 사용하려면 Gogs를 설치하기 전에 직접 찾아서 설치해야 합니다. 소규모 팀의 경우 SQLite3를 사용할 수 있습니다. SQLite3를 선택하면 자동으로 설치됩니다. 물론 git
도 설치되어 있어야 합니다.
적절한 바이너리를 다운로드합니다.
- 최신 Linux 배포판의 경우 "Linux amd64" 파일을 다운로드하십시오.
- 32비트 버전의 Linux를 사용하는 경우 "Linux 386" 파일을 다운로드하십시오.
- Raspberry Pi 2 또는 이전 버전 에 설치하는 경우 "Linux armv7" 파일을 다운로드합니다.
- Raspberry Pi 3, 3+ 이상에 설치하는 경우 "Linux armv8 " 파일을 다운로드합니다.
- Intel Mac을 사용하는 경우 "macOS amd64" 파일을 다운로드합니다.
- Apple Silicon Mac의 경우 "macOS arm64" 파일을 다운로드합니다.
Ubuntu 22.10이 설치된 64비트 컴퓨터에 설치하기 위해 "Linux amd64" ZIP 파일을 다운로드했습니다. 파일 크기는 약 25MB에 불과하므로 매우 빠르게 다운로드되더라도 놀라지 마십시오. 정상입니다.
파일 시스템에서 파일을 찾습니다. 브라우저의 기본 다운로드 위치를 유지했다면 파일은 "~/Downloads" 디렉토리에 있을 것입니다. 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "추출"을 선택하십시오. 일부 파일 브라우저는 "여기에서 추출"을 대신 사용할 수 있습니다.
ZIP 파일에서 디렉토리가 추출됩니다. 다운로드한 파일의 이름을 따서 명명되었습니다. 우리의 경우에는 "gogs_0.11.91_linux_amd64"라고 했습니다.
추출된 디렉토리를 두 번 클릭하면 "gogs"라는 또 다른 디렉토리가 표시됩니다.
"gogs" 디렉토리를 두 번 클릭합니다. Gogs 파일 및 디렉토리가 표시됩니다. 파일 브라우저 창을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "터미널에서 열기"를 선택합니다.
Gogs 인스턴스를 시작하려면 다음 명령을 입력합니다.
./gogs 웹
Gogs가 실행되고 포트 3000에서 수신 대기 중임을 알립니다.
웹 브라우저를 열고 Gogs가 실행 중인 컴퓨터의 IP 주소 또는 네트워크 이름으로 이동하여 Gogs 서버에 연결합니다. IP 주소 또는 네트워크 이름 뒤에 ":3000"을 추가합니다. 공백을 포함하지 마십시오.
Gogs가 실행 중인 컴퓨터에서 탐색하는 경우 "localhost:3000"과 같이 컴퓨터 이름으로 "localhost"를 사용할 수 있습니다. Gogs 컴퓨터 이름은 "ubuntu-22-10.local"이므로 동일한 네트워크에 있는 다른 컴퓨터에서 찾아봐야 하는 주소는 포트 번호를 포함하여 "ubuntu-22-10.local:3000"입니다.
이 작업을 처음 수행하면 몇 가지 초기 설정 정보를 캡처하는 양식이 표시됩니다.
가장 먼저 해야 할 일은 "Database Type" 드롭다운 메뉴에서 "SQLite3"를 선택하고 "Run User" 필드에 사용자 이름을 입력하는 것입니다.
이메일 알림을 설정하려면 몇 가지 추가 단계를 구성해야 합니다. 사용 권한이 있는 SMTP(Simple Mail Transfer Protocol) 메일 서버를 통해 이메일을 릴레이해야 합니다. Google Gmail 사용자라면 Google의 Gmail SMTP 서버를 사용할 수 있습니다.
이것은 귀하의 계정이 이메일을 수락하고 릴레이할 수 있도록 메일 서버에 대한 설정이 필요합니다. 이러한 설정은 메일 서버마다 다릅니다.
Gogs는 이메일 서버에 대한 다음 정보를 입력하도록 요구합니다.
- SMTP 호스트 : 이메일 서버의 주소와 포트입니다. 이 예에서 이것은 smtp.gmail.com:587에 있는 Google의 SMTP 서버입니다.
- 보낸 사람 : 이메일을 보낼 이메일 주소입니다 . Gmail의 경우 사용 중인 계정의 Gmail 이메일 주소여야 합니다.
- 발신자 이메일 : 위와 동일해야 합니다. 이것은 Gogs가 SMTP 서버와 통신하는 데 사용할 이메일 계정 ID입니다.
- 발신자 비밀번호 : Gmail 계정의 비밀번호가 아닙니다 . 애플리케이션이 귀하를 대신하여 이메일을 보낼 수 있도록 계정을 구성할 때 Google에서 얻는 애플리케이션별 비밀번호 입니다.
- 등록 확인 활성화 : Gogs가 사용자의 이메일을 확인하도록 하려면 이 확인란을 선택합니다. 새 사용자는 링크가 포함된 이메일을 받게 됩니다. 그들은 이메일 주소가 진짜이고 자신의 통제 하에 있음을 증명하기 위해 를 클릭해야 합니다.
- 메일 알림 활성화 : Gogs의 이메일 알림을 허용하려면 이 확인란을 선택합니다.
물론 귀찮게 이메일을 받고 싶지 않다면 모든 이메일 설정을 건너뛸 수 있습니다.
계속 진행할 준비가 되면 파란색 "Gogs 설치" 버튼을 클릭합니다. Gogs는 구성 파일을 작성하고 데이터베이스 저장소를 초기화하고 Git 인스턴스를 시작합니다.
기본 Gogs 홈페이지가 표시됩니다.
생성한 첫 번째 사용자 계정에는 자동으로 관리자 권한이 부여됩니다. "등록" 링크를 클릭합니다.
계정 이름, 이 계정의 암호(두 번 입력) 및 Captcha의 숫자로 "가입" 양식을 작성합니다. 녹색 "새 계정 만들기" 버튼을 클릭합니다. "로그인" 페이지가 표시됩니다.
계정 이름과 암호를 입력하고 녹색 "로그인" 버튼을 클릭합니다.
Gogs 둘러보기
다른 웹 액세스 Git 인스턴스에 익숙하다면 Gogs를 매우 쉽게 찾을 수 있습니다.
작업할 저장소가 있을 때까지 Gogs "대시보드" 보기는 약간 희박합니다. 파란색 "+" 버튼을 클릭하고 "새 저장소" 양식을 작성합니다.
비공개인지 공개인지에 관계없이 리포지토리 이름과 설명을 요청합니다.
다음 세 필드는 템플릿에서 파일을 생성합니다.
- ".gitignore" 메뉴를 사용하면 선택한 언어에 따라 설정이 구성된 ".gitignore" 파일의 템플릿을 선택할 수 있습니다. 혼합 개발 기술을 사용하는 리포지토리를 수용하기 위해 이 메뉴에서 둘 이상의 선택을 할 수 있습니다.
- "라이선스" 메뉴를 사용하면 전체 목록에서 라이선스를 선택할 수 있습니다.
- "Readme" 메뉴에는 단일 옵션인 기본 "README.md" 파일이 있습니다.
"선택한 파일 및 템플릿으로 이 리포지토리 초기화" 확인란을 선택하고 녹색 "리포지토리 생성" 버튼을 클릭합니다.
새 리포지토리가 표시됩니다. Gogs는 우리를 위해 3개의 표준 파일을 생성하고 "초기 커밋" 커밋 메시지와 함께 저장소에 추가했습니다.
리포지토리를 컴퓨터에 복제하고 "ack.c"라는 파일을 추가하고 커밋한 다음 원격 Gogs 리포지토리로 푸시했습니다. 이 모든 작업은 표준 Git 명령을 사용하여 수행되었습니다.
예상대로 새 파일이 Gogs 저장소에 표시됩니다.
파일을 클릭하면 개별 파일의 내용이 표시됩니다. 제목, 링크, 목록 및 기타 모든 Markdown 기능과 함께 Markdown 파일이 해석됩니다. "README.md" 파일은 일반적으로 Markdown으로 작성됩니다.
"편집" 연필 아이콘을 클릭하면 "README.md" 파일을 직접 편집할 수 있습니다. 더 많은 텍스트를 추가하고 Markdown 태그를 사용하여 하이퍼링크와 이탤릭체를 삽입하고 변경 사항을 커밋했습니다. Gogs 내에서 모두 가능합니다.
리포지토리 보기로 돌아가서 업데이트된 "README.md" 파일이 표시되고 파일 목록의 "README.md" 항목에 새 커밋 메시지와 업데이트 시간이 표시됩니다.
가장 쉬운 Git 서버 – 바 없음
Gogs는 절대적인 승리입니다. 기능과 단순성을 완벽하게 조화시킵니다.
기본적으로 대부분의 애호가 또는 소규모 개발 팀의 요구 사항을 충족합니다. 일부 고급 옵션은 기본적으로 "~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini"에 있는 구성 파일을 편집하여 활성화됩니다. 경로는 사용 중인 Gogs 버전을 반영합니다.
일반 시스템 관리는 Your Profile > Admin panel
에 있는 관리자 패널에서 수행할 수 있습니다.
Gogs 설명서는 간결할 정도로 간단하지만 원하는 내용을 쉽게 찾을 수 있고 따라갈 수 있을 만큼 설명이 자세히 설명되어 있습니다.
궁극적으로 다른 사람이 제어하는 클라우드 호스팅 리포지토리에 대해 경계하는 경우 로컬에서 Gogs를 사용하는 것이 좋습니다. 기능을 잃지는 않지만 통제력과 프라이버시를 보장받을 수 있습니다.
관련: Git 버전 확인 및 업데이트 방법