Top Banner
A painless self-hosted Git service: Gitea Bo-Yi Wu 2017.08.05
48

Introduction to Gitea with Drone

Jan 22, 2018

Download

Technology

Bo-Yi Wu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Gitea with Drone

A painless self-hosted Git service: Gitea

Bo-Yi Wu2017.08.05

Page 2: Introduction to Gitea with Drone

About me

Full Stack & DevOps engineer at Mediatek@appleboy at GitHub, Twitter and SlideShare

https://blog.wu-boy.com

Page 3: Introduction to Gitea with Drone

Thanks

Page 4: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 5: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 6: Introduction to Gitea with Drone

Public Git Hosting Services

Bitbucket GitHub Gitlab

Page 7: Introduction to Gitea with Drone

GitHosting

Opensource

Self Host FreePrivateRepo

UI/UX

GitHub No No No ★★★

Bitbucket No Yes (Hard) Yes ★

Gitlab Yes Yes (Hard) Yes ★

Gitea Yes Yes (Easy) Yes ★★★

Public Git hosting sites

Page 8: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 9: Introduction to Gitea with Drone

What is Gitea?The initial development have been done on Gogs

https://github.com/go-gitea/gitea

Page 10: Introduction to Gitea with Drone

Purpose

Easiest

Fastest

Painless

Page 11: Introduction to Gitea with Drone

Gitea hosted Gitea Comment on commit and PR (#124)

Squash merge

Complete Protected branch (#32 #339 )

Complete API support (#64)

OAuth provider (#27)

API Documents (#194)

Complete notifications system (#145)

Complete Webhook support (#132 (PR #908) #895 #1002 )

Better CI Integration (#996 (PR #1332))

Approval systemhttps://github.com/go-gitea/gitea/issues/1029

Page 12: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 13: Introduction to Gitea with Drone

Free & Open Sourcehttps://github.com/go-gitea

Page 14: Introduction to Gitea with Drone

Easy install than GitlabGitlab: https://goo.gl/YP3DF9Gitea: https://goo.gl/GuCuQZ

Page 15: Introduction to Gitea with Drone

Low memory and low cost

Page 16: Introduction to Gitea with Drone

Gitea is written in Golang

Page 17: Introduction to Gitea with Drone

Single BinaryYou don’t need to install any dependency package on your server

Page 18: Introduction to Gitea with Drone

Cross Platform

Page 19: Introduction to Gitea with Drone

ARM Platform

Page 20: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 21: Introduction to Gitea with Drone

Installation

Docker

Binary

Package

Source

Page 22: Introduction to Gitea with Drone

Installation

Docker

Binary

Package

Source

Page 23: Introduction to Gitea with Drone

http://bit.ly/install-gitea

Page 24: Introduction to Gitea with Drone

Download Binary

https://dl.gitea.io/gitea

Page 25: Introduction to Gitea with Drone

Run the Gitea Service

gitea web

Page 26: Introduction to Gitea with Drone

First Install

Page 27: Introduction to Gitea with Drone

Don’t Run Gitea as root user

Page 28: Introduction to Gitea with Drone

Create git User

useradd –m git

Page 29: Introduction to Gitea with Drone

SSH Protocol

Page 30: Introduction to Gitea with Drone

Missing https?

Page 31: Introduction to Gitea with Drone

You don’t need to care about expire time of certificate file.

Page 32: Introduction to Gitea with Drone

example.com {proxy / localhost:3000

}

https://github.com/caddyserver/examples/tree/master/gitea

Page 33: Introduction to Gitea with Drone

Easy install in 5 minute

Page 34: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 35: Introduction to Gitea with Drone

Develop

PullRequest

CodeReview

Testing

Deploy

Page 36: Introduction to Gitea with Drone

Gitea Drone

Page 37: Introduction to Gitea with Drone

Drone is a Continuous Delivery system built on container technology.

What is Drone?

Page 38: Introduction to Gitea with Drone

Server

agent

agent

agentDatabase

System Structure

Page 39: Introduction to Gitea with Drone

Drone Server

Page 40: Introduction to Gitea with Drone

Drone Agent

Page 41: Introduction to Gitea with Drone

https://github.com/go-training/drone-tutorial

Page 42: Introduction to Gitea with Drone

Easy install in 5 minute

Page 43: Introduction to Gitea with Drone

Agenda

Git Hosting Services

What is Gitea?

Why we choose Gitea?

How to install Gitea?

Integrate CI/CD Service

How to contribute to Gitea

Page 44: Introduction to Gitea with Drone

Contribute to Gitea

https://goo.gl/JiMsyA

Page 45: Introduction to Gitea with Drone

Contribution Guide

Bug reports

Discuss your design

Testing before sending your pull request

Code review

Page 46: Introduction to Gitea with Drone

Join usbecome a maintainer

contributed at least 4 accepted PRs.

Page 47: Introduction to Gitea with Drone

Try it.https://try.gitea.io

Page 48: Introduction to Gitea with Drone

Thank youAny problems?