Gitea安装和使用

Linux下Gitea安装和使用

一、本地源码安装

1. 准备环境

通过源码编译安装,需要事先安装好

2. 下载源码

下载 https://github.com/go-gitea/gitea 得到gitea-main.zip

3. 编译

gitea-main.zip解压后,准备编译。
编译tags可选项:

  • bindata: bindata: 这个编译选项将会把运行Gitea所需的所有外部资源都打包到可执行文件中,这样部署将非常简单因为除了可执行程序将不再需要任何其他文件。
  • sqlite sqlite_unlock_notify: 这个编译选项将启用SQLite3数据库的支持,建议只在少数人使用时使用这个模式。
  • pam: 这个编译选项将会启用 PAM (Linux Pluggable Authentication Modules) 认证,如果你使用这一认证模式的话需要开启这个选项。

以下为我用的编译方式:

cd gitea-main
# 编译
TAGS="bindata" make build

# 交叉编译。Go 编译器支持交叉编译到不同的目标架构。
# 交叉构建适用于 Linux ARM64 的 Gitea
GOOS=linux GOARCH=arm64 TAGS="bindata" make build
# 交叉构建适用于 Linux ARM64 的 Gitea,并且带上 Gitea 发行版采用的编译选项
CC=aarch64-unknown-linux-gnu-gcc GOOS=linux GOARCH=arm64 TAGS="bindata" make build

附:
Go 支持的目标架构列表:

$GOOS$GOARCH
linux386
linuxamd64
linuxarm
linuxarm64
linuxloong64
linuxmips
linuxmipsle
linuxmips64
linuxmips64le
linuxppc64
linuxppc64le
linuxriscv64
linuxs390x
windows386
windowsamd64
windowsarm
windowsarm64
android386
androidamd64
androidarm
androidarm64
iosarm64
darwinamd64
darwinarm64
freebsd386
freebsdamd64
freebsdarm
netbsd386
netbsdamd64
netbsdarm
openbsd386
openbsdamd64
openbsdarm
openbsdarm64
plan9386
plan9amd64
plan9arm
aixppc64
dragonflyamd64
illumosamd64
jswasm
solarisamd64

编译后会生成gitea二进制文件。

4. 启动

输入

./gitea web

启动运行
打开浏览器,访问http://localhost:3000

在这里插入图片描述点击右上角“注册”可以注册账号,但初次使用会进行站点配置,如下。

5. 站点配置

在这里插入图片描述
在这里插入图片描述
点击“立即安装”后,便可以注册账号登录使用了。
附: 另外,也可本地直接下载gitea二进制包,进行二进制安装。

二、本地源码 + docker mysql 安装

1. 源码编译

可以先将源码编译后,再连mysql,编译同上。

2. 创建gitea_db容器

# 拉取mysql8.0镜像
docker pull mysql:8.0
# 查看镜像
docker images
# 创建容器并后台运行。主机通过3307端口对应着mysql容器的3306端口
docker run -td --name gitea_db --restart=always -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0

进入容器创建gitea库

# 进入容器
docker exec -it gitea_db bash
# 进入容器后:
# 登入mysql
mysql -uroot -p
# 创建新库gitea
create database gitea;

3. 启动和配置

# 启动
./gitea

浏览器访问localhost:3000,初次使用会进行配置:
在这里插入图片描述

三、docker源码 + docker mysql 安装

创建两个容器:

  • gitea_web:存放gitea项目
  • gitea_db:存放mysql
    (其实也可以采用创建一个容器、将gitea和mysql都放在一个容器里的思路,但这里采用微服务的思路。)

1. 创建gitea_db容器

# 拉取mysql8.0镜像
docker pull mysql:8.0
# 查看镜像
docker images
# 创建容器并后台运行。主机通过3307端口对应着mysql容器的3306端口
docker run -td --name mysql_db --restart=always -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0

2. 创建gitea_web容器

以Ubuntu20.04环境为例。

docker pull ubuntu:20.04
# 创建容器。主机通过15000端口对应着gitea_web容器的3000端口,容器里挂载个U盘目录/volumes_usb对应着主机目录/home/user/mydocker/mnt/
docker create -it --name gitea_web -p 15000:3000 -v /home/user/mydocker/mnt/:/volumes_usb ubuntu:20.04 
docker start gitea_web

# 确保 gitea_web 和 gitea_db 容器在运行
docker ps


(配置网桥)
# 自建一个网桥customize_bridge,让gitea_web 和 gitea_db两个容器连接起来,即在同一网段,能通信
docker network create -d bridge customize_bridge
docker network connect customize_bridge gitea_web
docker network connect customize_bridge gitea_db

进入容器,并在线安装一些基本工具

# 进入容器
docker exec -it gitea_web bash
# 进入容器后:
apt update
apt install make
apt install gcc
apt install vim

cd /volumes_usb

参考本文开头章节一、源码安装,然后将准备好的gitea源码、node、npm离线文件放在主机 /home/user/mydocker/mnt/ 目录下, 以便容器可通过 /volumes_usb 目录找到使用,接下来操作过程同本文开头章节一、源码安装
这时候编译可以自定义cpu和系统环境了
编译成功后会生成gitea二进制文件,但gitea二进制文件不支持用root执行,所以需要新建用户

# 进入容器
docker exec -it gitea_web bash
# 进入容器后:
# 创建新用户user
adduser user
# 更换gitea项目文件的所有者,以便能操作
chown user:user -R /路径/gitea-main
# 切换新建的user用户
su user
cd gitea-main
./gitea

3. 访问

主机访问localhost:15000,最后站点配置如下:
在这里插入图片描述

四、docker-compose 安装

1. 准备docker-compose.yml

在自定义目录下新建 docker-compose.yml 文件,如在/home/user/mydocker/docker_gitea 下新建:
docker-compose.yml

version: "2"
  
networks:
    gitea:
        external: false

services:
    server:
        container_name: gitea_server
        image: gitea/gitea:latest
        environment:
            - USER_UID=1000
            - USER_GID=1000
        restart: always
        networks:
            - gitea
        volumes:
            - ./data:/data
        ports:
            - "15000:3000"
            - "10022:22"
        depends_on:
            - db

    db:
        container_name: gitea_db
        image: mysql:8.0
        restart: always
        environment:
            - MYSQL_ROOT_PASSWORD=gitea
            - MYSQL_USER=gitea
            - MYSQL_PASSWORD=gitea
            - MYSQL_DATABASE=gitea
        networks:
            - gitea
        volumes:
            - ./mysql:/var/lib/mysql

此功能是创建两个容器:gitea_server、gitea_db

  • gitea_server:存放gitea项目及应用,容器里gitea web端口为3000,对应外边宿主机的访问端口为15000
  • gitea_db:存放mysql
    mysql信息
用户密码
rootgitea
giteagitea

mysql库:gitea

2. 下载

cd /home/user/mydocker/docker_gitea/
docker-compose up # 或 docker-compose up -d

下载后会在 /home/user/mydocker/docker_gitea/ 目录下自动生成 datamysql 文件夹。

3. 启动

cd /home/user/mydocker/docker_gitea/

# 启动
docker-compose start
####### 或者 #######
docker start gitea_server 
docker start gitea_db

# 停止
docker-compose stop
####### 或者 #######
docker stop gitea_server 
docker stop gitea_db

启动后打开浏览器,访问http://localhost:15000
在这里插入图片描述点击右上角“注册”可以注册账号,但初次使用会进行站点配置,如下。

4. 站点配置

在这里插入图片描述

点击“立即安装”后,便可以注册账号登录使用了。

5. 迁移(仅适用于同一cpu架构、同一系统)

因为此法docker-compose.yml 安装的是根据当前环境自动编译好的gitea二进制文件,所以迁移时仅适用于同一cpu架构、同一系统。如果想适用于其他环境的,需要输入编译参数手动编译。参考下面第三节
迁移到其他服务器呢?

# 当前服务器,保存
docker commit gitea_server gitea:v1
docker commit gitea_db gitea_db:v1
docker save -o ./gitea.tgz gitea:v1
docker save -o ./gitea_db.tgz gitea_db:v1

# 另一台服务器,导入
docker load -i gitea.tgz
docker load -i gitea_db.tgz
docker create -it --name gitea_db mysql:8.0

更多使用功能参考官方手册:https://docs.gitea.io/zh-cn/install-from-source/

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您想在Windows上安装Gitea,可以按照以下步骤进行操作。 1. 首先,您需要前往Gitea的官方网站,并下载适用于Windows的最新版本的Gitea可执行文件。 2. 下载完成后,您可以双击可执行文件,然后按照安装向导的指示进行安装。您可以选择安装路径和其他设置。 3. 安装完成后,您可以在开始菜单或桌面上找到Gitea的快捷方式。双击打开Gitea。 4. 第一次运行Gitea时,您需要填写一些配置信息,例如数据库类型、数据库连接信息、管理员用户名和密码等。根据您的需求和网络环境,进行相应的配置。 5. 配置完成后,您可以选择启动Gitea服务。Gitea将会在指定的端口上监听请求,并通过浏览器访问该端口以进入管理界面。 通过以上步骤,您就可以在Windows上成功安装Gitea,并开始管理自己的项目代码了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Gitea在windows平台的安装和简单使用教程](https://blog.csdn.net/wajun111/article/details/124239952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Gitea在Windows平台的安装和启动教程](https://blog.csdn.net/ngwngw/article/details/129830979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值