0. gitea
- 1 1. gitea 개요
- 1.1 gitea 특징
- 2 2. gitea 사용
- 2.1 web UI 접속
- 2.2 Repository 생성
- 2.3 Branch 생성
- 2.4 조직 설정
- 2.5 User 생성 및 할당
- 2.5.1 사용자 생성
- 2.5.2 사용자 수정
- 2.5.3 조직에 사용자 추가
- 2.6 Webhook
- 2.6.1 Webhook 생성
- 2.6.2 Webhook 연결 테스트
- 2.7 Pull Request
- 2.7.1 Pull Request 생성하기
- 2.7.2 코드 리뷰하기
- 2.7.3 Pull Request 승인하기
- 3 3. gitea 기술 자료
- 4 4. gitea 릴리즈 노트
1. gitea 개요
gitea는 gitlab, github 등 과 같이 웹상에서 형상관리도구인 git을 관리할 수 있는 도구입니다.
gitea 특징
쉬운 설치
크로스 플랫폼
가벼움
오픈소스
2. gitea 사용
web UI 접속
KeyCloak 등 연동되어 있는 경우 OIDC PROVIDER를 통해 로그인 하며, LOCAL DB 통해서 gitea로 바로 로그인 할 수 있습니다. (ex. URL: https://gitea.k8s.test.playce.cloud )
gitea 메인 화면
gitea 로그인 화면
Repository 생성
메인화면에서 맨위 + 기호를 눌러 새 저장소를 클릭합니다.
소유자 및 저장소 이름을 입력합니다.
소유자 추가는 아래 조직 설정 매뉴얼을 참고합니다.
저장소 이름은 영문자, 숫자, 대시('-'), 밑줄('_') 과 점('.') 만 입력 가능합니다.
저장소 만들기를 클릭하면 저장소가 생성 되며 화면에 표시됩니다.
git을 통해 소스 코드를 push하면 소스코드가 추가된 것을 확인할 수 있습니다.
Branch 생성
저장소-코드-브랜치 화면으로 이동하여 branch 생성 버튼을 클릭합니다.
Web UI 상에서는 기존 branch를 기반으로 신규 branch가 생성되며 빈 branch는 git 명령을 통해 생성합니다.
브런치명을 입력하고 Create Branach 버튼을 클릭합니다.
신규 branch가 생성되며 생성된 branch로 자동 전환됩니다.
조직 설정
조직을 생성하여 조직별로 저장소를 관리할 수 있습니다.
메인화면에서 맨위 + 기호를 눌러 새로운 조직을 클릭합니다.
조직 이름을 입력하고 가시성, 권한을 선택합니다.
조직 이름은 영문자, 숫자, 대시('-'), 밑줄('_') 과 점('.') 만 입력 가능합니다.
가시성
Public: 공용으로 모든 사용자에게 표시
Limited: 로그인한 사용자에게만 표시
Private: 조직에 포함된 사용자에게만 표시
권한: 레포지토리 관리자가 조직에 속한 팀에 권한을 추가/삭제 할 수 있습니다.
User 생성 및 할당
사용자 생성
매인화면-계정-사이트 관리 화면으로 이동하여 사용자 계정 탭으로 이동합니다.
사용자 계정 생성 버튼을 클릭하여 신규 사용자를 추가합니다.
사용자명, 이메일 주소 및 비밀번호를 입력하고 사용자 계성 생성 버튼을 클릭합니다.
인증소스: 로컬 또는 OIDC 등을 선택하여 관련된 DB에 사용자를 생성할 수 가 있습니다.
User visibility: 해당 사용자의 표시 정보를 설정합니다.
public: 모든 사용자에게 표시
limited: 로그인한 사용자에게만 표시
private: 해당 사용자가 포함되어 있는 조직 구성원에게만 표시
리스트에 추가된 사용자가 표시됩니다.
사용자 수정
사용자 리스트에서 수정하기 버튼을 눌러 사용자 정보를 수정할 수 있습니다.
사용자 정보를 수정한 후 사용자 계정 갱신을 클릭합니다.
로그인 비활성화: 해당 사용자는 로그인 할 수 없음
관리자: 사용자에게 관리자 권한을 부여
Is Restricted: 접근 제한을 설정하여 사용자에게 권한이 부여된 저장소만 접근이 가능
조직에 사용자 추가
조직-팀으로 이동하여 새 팀 버튼을 클릭합니다.
팀 이름 및 옵션을 설정하고 팀 만들기 버튼을 클릭합니다.
Repository access
Special repositories: 팀에 명시적으로 추가된 리포지토리에만 액세스 가능
All repositories: 모든 레파지토리에 엑세스 가능
Create repositories: 새로운 레파지토리 생성 권한을 가지며, 생성자는 관리자 권한이 부여됨
권한
General Access: 권한 테이블에 설정된 권한만 획득
관리자 액세스: 레파지토리를 추가할 수 있으며, 공동 작업자를 추가할 수 있음
사용자를 검색하여 팀 구성원으로 추가할 수 있습니다.
저장소 접근 권한이 생겨 팀 구성원의 저장소 목록에 표시됩니다.
Webhook
webhook을 설정하여 commit, pull request 등의 이벤트가 발생할 때, 특정 URL로 정보를 전송할 수 있습니다.
매뉴얼에서는 tekton trigger와 연동하는 webhook 설정을 설명합니다.
Webhook 생성
레파지토리 화면에서 설정을 클릭합니다.
웹훅 탭으로 이동하여 webhook 추가 버튼을 클릭하여 이벤트 정보를 전송할 서비스를 선택합니다.
대상 URL, 트리거 정보를 입력 Webhook 추가 버튼을 클릭합니다.
사용자 정의 이벤트로 옵션을 변경하여 특정 상황에 대한 트리거를 선택할 수 있습니다.
웹훅이 추가되면 URL 정보가 리스트로 표시됩니다.
Webhook 연결 테스트
웹훅 리스트에서 웹훅을 선택하여 전달 시험 버튼을 클릭하면 테스트를 수행 할 수 있습니다.
전달 시험 결과가 최근의 Deliveries 테이블에 표시됩니다.
해당 결과를 클릭하면 상세 정보를 확인할 수 있습니다.
Pull Request
branch 간 머지 시 충돌을 최소화하기 위해 Pull Request 기능을 사용합니다.
Pull Request를 생성하면 사용자 리뷰를 거쳐 branch 머지를 수행하게 됩니다.
Pull Request 생성하기
레파지토리 화면에서 새 풀 리퀘스트 버튼을 클릭합니다.
병합할 branch와 가져올 branch를 선택합니다.
변경사항이 있을 경우 커밋 정보가 표시되며 새 풀 리퀘스트 버튼이 활성화 됩니다.
Pull Request 정보를 입력하고 Pull Request 생성 버튼을 클릭합니다.
담당자 지정된 경우 담장자가 최종 승인 후 branch 머지가 수행됩니다.(담당자 지정이 없을 경우 관리자 권한이 있는 사용자가 수행이 가능합니다.)
Pull Request가 생성되면 저장소에 포함된 사용자가 정보를 확인할 수 있습니다.
코드 리뷰하기
파일 변경됨 탭으로 이동하여 코드 리뷰를 진행할 수 있습니다.
코드 리뷰 완료 후 승인 버튼을 클릭하여 리뷰를 완료합니다.
Pull Request 승인하기
리뷰 정보가 Pull Request 화면에 표시되며, 머지 버튼이 활성화 됩니다.(리뷰어 선택이 없거나 gitea 설정에 따라 리뷰없이 바로 머지가 가능할 수 있습니다.)
정보를 입력후 머진 버튼을 클릭하면 Pull Request가 완료됩니다.
Pull Request 정보를 커밋 리스트에서 확인할 수 있습니다.