将ubuntu设置为NAS——21.搭建gitea自用代码托管git应用(上)

作者:杨某人

前言

最近又开始想学习编程知识,于是就动手搭建个类似github的网站,方便在线管理代码,虽然git代码管理在本地就可以,但为了榨干服务器资源,还是想试试利用Ubunut搭建个类似的github服务,同时可以水篇文章,目前git代码托管类应用自建服务其实选择比较多,比较出名的是gitlab,功能丰富,但其资源占用较大,我选择了gitea,其运行配置低相对低,个人使用功能上感觉也够了。

1、docker安装

安装果断选择docker-compose方式安装,直接在hub.docker.com很容易找到官方镜像,介绍安装界面直接给了官方介绍文档,是中文的安装教程,比较容易理解的。如果你还是不太清楚docker及docker-compose建议看看我之前的内容。

建议采用安装带数据库版本的docker-compose.yml,附上文件供参考,也可以直接看官方教程。

version: “3”

networks:

 gitea:

   external: false

services:

 server:

   image: gitea/gitea:latest  #标签使用最新版,截至2022年2月21日最新版是1.16.1

   container_name: gitea

   environment:

     – USER_UID=1000

     – USER_GID=1000

     – DB_TYPE=mysql

     – DB_HOST=db:3306

     – DB_NAME=gitea

     – DB_USER=gitea

     – DB_PASSWD=gitea

   restart: always

   networks:

     – gitea

   volumes:

     – /docker/gitea:/data      # 这里可以自定义数据文件映射路径

     – /etc/timezone:/etc/timezone:ro

     – /etc/localtime:/etc/localtime:ro

   ports:

     – “3000:3000”

     – “222:22”

   depends_on:

      – db

 db:

    image: mysql:8

    restart: always

    environment:

      – MYSQL_ROOT_PASSWORD=gitea

      – MYSQL_USER=gitea

      – MYSQL_PASSWORD=gitea

      – MYSQL_DATABASE=gitea

    networks:

      – gitea

    volumes:

     – /docker/gitea/mysql:/var/lib/mysql

在Ubuntu服务器找个合适位置,将docker-compose.yml文件复制进去(可以用winscp登陆后复制),在命令行找到文件位置,用docker-compose up -d(新版docke-compsoe的命令改成docker compose up -d)命令就能搞定。我复制的位置在/mnt/all/共享/code/gitea,所以我的命令如下

cd  /mnt/all/共享/code/gitea

docker compose up -d   #旧版2.0以下版本docker-compose的命令还是docker-compose up -d,请灵活掌握

如果提示services.server Additional property db is not allowed,请注意可能是docker-compose.yml文件内容格式有问题,应该是server与db层级错了,应该是同级的,也就是前面的空格数量相同。

安装完毕后就可以用浏览器打开服务器IP+端口3000。

直接设置数据库,按照docker-compose.yml文件内数据库的用户名等进行设置,注意数据库主机的设置是db:3306。

其他就按照默认即可,不建议修改(应为是docker容器内的,改了意义不大),最后点击安装。之后重新用浏览器打开服务器IP+端口3000,进行注册和登录即可。

登录后就可以使用了,具体使用就不再介绍了,仓库列表里加号就可以添加代码仓库。

2、git及gitea服务器HTTP方式进行代码推送

2.1、git简介及简单安装

具体git是什么,它是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。git用得最多就是对编程工作的版本控制,尤其是多人使用的时候,可以方面合并不同修改内容,比起word的文档修改回撤,更加方便,能更容易看出修改前后区别,并且可以注释修改内容,有点像word的修订模式(个人理解,不一定准确)。对于小白的我,安装这个主要是为了学习点编程小知识,也是为了进一步学习git。git下载很简单,百度git第一个找win版或适合自己系统的版本即可,在Ubuntu默认是安装了git命令行功能的。一路默认安装,就可以打开git bash命令行界面了。

git是可以在本地使用的,即设置一个用于版本控制的文件夹,里面的编程文件等就可以用git控制版本了。相关教程网上比较多,推荐看看菜鸟教程。那本地能用git,我为什么还要搭建gitea在线服务呢?当然是为了多人协作(其实是为了水文章,学习新知识)、方便在线查看代码。

2.2、git与gitea连接及HTTP代码推送

在gitea创建代码仓库,就可以通过HTTP方式进行代码推送了,docke方式安装由于下采用ssh是在容器内自建,还需要对本机的key映射,端口修改等等比较复杂的操作,就不建议采用ssh方式同步代码了,后面我将再水一篇介绍非docker方式搭建方式,也是为了解决docker方式ssh同步设置复杂的问题。

仓库页面就有HTTP连接代码,在git命令行下找到自己编程代码的目录,然后git add命令添加代码文件,在git commit命令提交暂存区代码到本地仓库后,就可以上传代码到gitea服务了,直接复制粘贴gitea仓库中显示的代码到git命令行界面就可以连接和上传代码了,过程中会弹窗需要用gitea账号密码登录。

总结

本篇文章简单介绍了采用docker方式安装gitea服务的方法,官方教程介绍也比较详细了,同时介绍了git与gitea服务HTTP连接和简单的代码推送。可能有人会觉得既然github或是国内的gitee代码服务已经比较完善了,没必要自己搭建这样gitea服务,这个其实就是不同人有不同的需求,存在就是合理的,如果你也有需求,完全可以尝试一下。我计划再水篇二进制文件直接搭建gitea服务的文章,欢迎继续关注。

后记

欢迎大家查阅前期《将ubuntu设置为NAS》相关文章,可以关注、点赞、打赏和交流评论 。

将ubuntu设置为NAS——1. Transmission-daemon安装

将ubuntu设置为NAS——2. 新增硬盘挂载

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)

将ubuntu设置为NAS——5. docker与docker-compose的安装

将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)

将ubuntu设置为NAS——7. 私人网盘nextcloud升级

将ubuntu设置为NAS——8. nextcloud集成onlyoffice在线协同办公软件

将ubuntu设置为NAS——9. 远程命令行及PuTTY、WinScp与手机端Termux使用

将ubuntu设置为NAS——10. 虚拟机KVM及软路由LEDE安装

将ubuntu设置为NAS——11. docker可视化管理工具portainer安装与使用

将ubuntu设置为NAS——12.使用portainer安装为知笔记及为知笔

将ubuntu设置为NAS——13.搭建新型在线协同表格和信息管理工具Seatable

将ubuntu设置为NAS——14.尝试mergerfs合并多个物理硬盘

将ubuntu设置为NAS——15.安装seafile并集成onlyoffice

将ubuntu设置为NAS——16.qBittorrent server安装与卸载

将ubuntu设置为NAS——17.私人在线图书馆搭建

将ubuntu设置为NAS——18.搭建Jellyfin影音服务器(上)

将ubuntu设置为NAS——19.搭建 Jellyfin影音服务器(中)

将ubuntu设置为NAS——20.去中心化同步软件Syncthing同步文件

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片