当前位置: 首页 > news >正文

git服务器搭建,gitea服务搭建,使用systemclt管理服务

文章目录

  • 页面展示
  • 使用二进制文件安装git服务
  • 下载
    • 选择架构
    • 使用wget下载安装
  • 验证 GPG 签名
  • 服务器设置
    • 准备环境
    • 创建systemctl文件
  • 备份与恢复
    • 备份命令 (dump)
    • 恢复命令 (restore)

页面展示

在这里插入图片描述

使用二进制文件安装git服务

所有打包的二进制程序均包含 SQLite,MySQL 和 PostgreSQL 的数据库连接支持,同时网站的静态资源均已嵌入到可执行程序中

下载

你可以从 下载页面 选择对应平台的二进制文件。

选择架构

  • 对于 Linux,linux-amd64 适用于 64-bit 的 Intel/AMD 平台。更多架构包含 arm64 (Raspberry PI 4),386 (32-bit),arm-5 以及 arm-6。

  • 对于 Windows,windows-4.0-amd64 适用于 64-bit 的 Intel/AMD 平台,386 适用于 32-bit 的 Intel/AMD 平台。(提示:gogit-windows 版本内建了 gogit 可能缓解在旧的 Windows 平台上 Go 程序调用 git 子程序时面临的 性能问题)

  • 对于 macOS,darwin-arm64 适用于 Apple Silicon 架构,darwin-amd64 适用于 Intel 架构.

  • 对于 FreeBSD,freebsd12-amd64 适用于 64-bit 的 Intel/AMD 平台。

使用wget下载安装

使用以下命令下载适用于 64-bit Linux 平台的二进制文件。

wget -O gitea https://dl.gitea.com/gitea/1.23.3/gitea-1.23.3-linux-amd64
chmod +x gitea

验证 GPG 签名

Gitea 对打包的二进制文件使用 GPG密钥 签名以防止篡改。 请根据对应文件名 .asc 中包含的校验码检验文件的一致性。

gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify gitea-1.23.3-linux-amd64.asc gitea-1.23.3-linux-amd64

校验正确时的信息为 Good signature from "Teabot <teabot@gitea.io>"。 校验错误时的信息为 This key is not certified with a trusted signature!


服务器设置

准备环境

检查是否安装 Git。要求 Git 版本 >= 2.0。

git --version

创建用户

# On Ubuntu/Debian:
adduser \--system \--shell /bin/bash \--gecos 'Git Version Control' \--group \--disabled-password \--home /home/git \git# On Fedora/RHEL/CentOS:
groupadd --system git
adduser \--system \--shell /bin/bash \--comment 'Git Version Control' \--gid git \--home-dir /home/git \--create-home \git

创建工作路径

mkdir /opt/gitea
chown git:git /opt/gitea

复制二进制文件到全局位置

cp gitea /usr/local/bin/gitea

创建systemctl文件

Centos:vim /usr/lib/systemd/system/gitea.service
Ubuntu:vim /etc/systemd/system/gitea.service

[Unit]
Description=gitea
Description=https://gitea.com[Service]
Environment=GITEA_WORK_DIR=/opt/gitea/
Restart=on-failure
ExecStart=/usr/local/bin/gitea web -c /opt/gitea/app.ini
User=git
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target

启动服务

systemctl start gitea.service
systemctl enable gitea.service

打开服务器IP地址192.168.2.36:3000
这里为了简单使用了SQLite
全部修改前面的地址/opt/gitea

完整vim /etc/gitea/app.ini配置文件

APP_NAME = Git服务
RUN_USER = git
WORK_PATH = /opt/gitea/
RUN_MODE = prod[database]
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gitea
USER = gitea
PASSWD = 
SCHEMA = 
SSL_MODE = disable
PATH = /opt/gitea/data/gitea.db
LOG_SQL = false[repository]
ROOT = /opt/gitea/data/gitea-repositories[server]
SSH_DOMAIN = https://git.eace.com
DOMAIN = https://git.eace.com
HTTP_PORT = 3000
ROOT_URL = https://git.eace.com
APP_DATA_PATH = /opt/gitea/data
DISABLE_SSH = false
SSH_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET = oh_5vB_iYiccBthoLtNSazdFkCTt9DjmSb0EU5v-0
OFFLINE_MODE = true[lfs]
PATH = /opt/gitea/data/lfs[mailer]
ENABLED = true
SMTP_ADDR = smtp.exmail.qq.com
SMTP_PORT = 465
FROM = 123@qq.com
USER = 123@qq.com
PASSWD = JVomgYJk8J5kQb[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
DISABLE_REGISTRATION = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = false
DEFAULT_KEEP_EMAIL_PRIVATE = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.localhost[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false[cron.update_checker]
ENABLED = false[session]
PROVIDER = file[log]
MODE = console
LEVEL = info
ROOT_PATH = /opt/gitea/log[repository.pull-request]
DEFAULT_MERGE_STYLE = merge[repository.signing]
DEFAULT_TRUST_MODEL = committer[security]
INSTALL_LOCK = true
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiE3MzkxNzgxNjJ9.ZUmhJLaG5PP7GlqQcQwO7F3MwSDr38k0_sZ4d_YF4dM
PASSWORD_HASH_ALGO = pbkdf2[oauth2]
JWT_SECRET = fZ5NpBsA1wTPAQxNawqr1_hR5fDOWioyaDfa6Hs

备份与恢复

Gitea 已经实现了 dump 命令可以用来备份所有需要的文件到一个zip压缩文件。该压缩文件可以被用来进行数据恢复。
为了确保 Gitea 实例的一致性,在备份期间必须关闭它。

备份命令 (dump)

先转到git用户的权限: su git. 再Gitea目录运行 ./gitea dump。一般会显示类似如下的输出:

2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
2016/12/27 22:32:09 Dumping local repositories.../home/git/gitea-repositories
2016/12/27 22:32:22 Dumping database...
2016/12/27 22:32:22 Packing dump files...
2016/12/27 22:32:34 Removing tmp work dir: /tmp/gitea-dump-417443001
2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip

备份命令

su git
gitea dump --config /opt/gitea/app.ini 

最后生成的 gitea-dump-1482906742.zip 文件将会包含如下内容:

  • app.ini - 如果原先存储在默认的 custom/ 目录之外,则是配置文件的可选副本
  • custom/ - 所有保存在 custom/ 目录下的配置和自定义的文件。
  • data/ - 数据目录(APP_DATA_PATH),如果使用文件会话,则不包括会话。该目录包括 attachments、avatars、lfs、indexers、如果使用 SQLite 则包括 SQLite 文件。
  • repos/ - 仓库目录的完整副本。
  • gitea-db.sql - 数据库dump出来的 SQL。
  • log/ - Logs文件,如果用作迁移不是必须的。
    中间备份文件将会在临时目录进行创建,如果您要重新指定临时目录,可以用 --tempdir 参数,或者用 TMPDIR 环境变量。

恢复命令 (restore)

当前还没有恢复命令,恢复需要人工进行。主要是把文件和数据库进行恢复。
例如:

unzip gitea-dump-1610949662.zip
cd gitea-dump-1610949662
mv app.ini /opt/gitea/app.ini
mv data/* /opt/gitea/data/
mv log/* /opt/gitea/log/
mv repos/* /opt/gitea/data/gitea-repositories/
chown -R git:git /opt/gitea/app.ini /opt/gitea# mysql
mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE <gitea-db.sql
# sqlite3
sqlite3 $DATABASE_PATH <gitea-db.sql
# postgres
psql -U $USER -d $DATABASE < gitea-db.sqlsystemctl restart gitea

相关文章:

git服务器搭建,gitea服务搭建,使用systemclt管理服务

文章目录 页面展示使用二进制文件安装git服务下载选择架构使用wget下载安装 验证 GPG 签名服务器设置准备环境创建systemctl文件 备份与恢复备份命令 (dump)恢复命令 (restore) 页面展示 使用二进制文件安装git服务 所有打包的二进制程序均包含 SQLite&#xff0c;MySQL 和 Po…...

Pdf手册阅读(1)--数字签名篇

原文阅读摘要 PDF支持的数字签名&#xff0c; 不仅仅是公私钥签名&#xff0c;还可以是指纹、手写、虹膜等生物识别签名。PDF签名的计算方式&#xff0c;可以基于字节范围进行计算&#xff0c;也可以基于Pdf 对象&#xff08;pdf object&#xff09;进行计算。 PDF文件可能包…...

嵌入式WebRTC压缩至670K,目标将so动态库压缩至500K,.a静态库还可以更小

最近把EasyRTC的效果发布出去给各大IPC厂商体验了一下&#xff0c;直接就用EasyRTC与各个厂商的负责人进行的通话&#xff0c;在通话中&#xff0c;用户就反馈效果确实不错&#xff01; 这两天有用户要在海思hi3516cv610上使用EasyRTC&#xff0c;工具链是&#xff1a;gcc-2024…...

百度高德地图坐标转换

百度地图和高德地图的侧重点不太一样。同样一个地名&#xff0c;在百度地图网站上搜索到的地点可能是商业网点&#xff0c;在高德地图网站上搜索到的地点可能是自然行政地点。 高德地图api 在高德地图中&#xff0c;搜索地名&#xff0c;如“乱石头川”&#xff0c;该地名会出…...

ES 索引结构

ES 既不像 MySQL 这样有严格的 Schema&#xff0c;也不像 MongoDB 那样完全无 Schema&#xff0c;而是介于两者之间。 1️⃣ ES 的 Schema 模式 ES 默认是 Schema-less&#xff08;无模式&#xff09; 的&#xff0c;允许动态添加字段。 但 ES 也支持 Schema&#xff08;映射 …...

HPM_SDK应用本地化——基于6750evkmini

文章目录 前言一、准备工作1、下载官方的SDK2、解压SDK 二、实操1、新建目标工程文件夹2、回到SDK中将相关文件复制1、Borad文件夹2、hello_world文件夹 三、实验现象总结 前言 为什么要对sdk进行应用本地化&#xff1f;在嵌入式开发中我们一般将官方提供的SDK作为参考&#x…...

【deepseek-r1本地部署】

首先需要安装ollama,之前已经安装过了&#xff0c;这里不展示细节 在cmd中输入官网安装命令&#xff1a;ollama run deepseek-r1:32b&#xff0c;开始下载 出现success后&#xff0c;下载完成 接下来就可以使用了&#xff0c;不过是用cmd来运行使用 可以安装UI可视化界面&a…...

查询语句来提取 detail 字段中包含 xxx 的 URL 里的 commodity/ 后面的数字串

您可以使用以下 SQL 查询语句来提取 detail 字段中包含 oss.kxlist.com 的 URL 里的 commodity/ 后面的数字串&#xff1a; <p><img style"max-width:100%;" src"https://oss.kxlist.com//8a989a0c55e4a7900155e7fd7971000b/commodity/20170925/20170…...

堆排序

目录 堆排序&#xff08;不稳定&#xff09;&#xff1a; 代码实现&#xff1a; 思路分析&#xff1a; 总结&#xff1a; 堆排序&#xff08;不稳定&#xff09;&#xff1a; 如果想要一段数据从小到大进行排序&#xff0c;则要先建立大根堆&#xff0c;因为这样每次堆顶上都能…...

【MySQL】我在广州学Mysql 系列—— 数据备份与还原

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天周一&#xff0c;过两天就是元宵节了&#xff0c;今年元宵节各位又要怎么过呢&#xff01;&#xff01; 本文主要对Mysql数据库中的数据备份与还原内容进行讨论&#xff01;&#xff01; 回顾&#xff1a;&#x1f449;【MySQ…...

【LeetCode Hot100 双指针】移动零、盛最多水的容器、三数之和、接雨水

双指针 1. 移动零题目描述解题思路关键思路&#xff1a;步骤&#xff1a;时间复杂度&#xff1a;空间复杂度&#xff1a; 代码实现 2. 盛最多水的容器题目解析解题思路代码实现 3. 三数之和问题描述&#xff1a;解题思路&#xff1a;算法步骤&#xff1a;代码实现&#xff1a; …...

HTML应用指南:利用POST请求获取接入比亚迪业态的充电桩位置信息

在新能源汽车快速发展的今天,充电桩的分布和可用性成为了影响用户体验的关键因素之一。比亚迪作为全球领先的新能源汽车制造商,不仅在车辆制造方面取得了卓越成就,也在充电基础设施建设上投入了大量资源。为了帮助用户更方便地找到比亚迪充电桩的位置,本篇文章,我们将探究…...

Android车机DIY开发之软件篇(十二) AOSP12下载编译

Android车机DIY开发之软件篇(十二) AOSP12下载编译 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib gmultilib libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev ccache libgl1-mesa-…...

Jenkins+gitee 搭建自动化部署

Jenkinsgitee 搭建自动化部署 环境说明&#xff1a; 软件版本备注CentOS8.5.2111JDK1.8.0_211Maven3.8.8git2.27.0Jenkins2.319最好选稳定版本&#xff0c;不然安装插件有点麻烦 一、安装Jenkins程序 1、到官网下载相应的版本war或者直接使用yum安装 Jenkins官网下载 直接…...

【文本处理】如何在批量WORD和txt文本提取手机号码,固话号码,提取邮箱,删除中文,删除英文,提取车牌号等等一些文本提取固定格式的操作,基于WPF的解决方案

企业的应用场景 数据清洗&#xff1a;在进行数据导入或分析之前&#xff0c;往往需要对大量文本数据进行预处理&#xff0c;比如去除文本中的无关字符&#xff08;中文、英文&#xff09;&#xff0c;只保留需要的联系信息&#xff08;手机号码、固话号码、邮箱&#xff09;。…...

Linux系统引导与服务管理

目录 一、Linux引导过程 1、引导过程概述 1.1、BIOS开机自检 1.2、MBR读取 1.3、加载引导加载程序&#xff08;GRUB&#xff09; 1.4、内核加载 1.5、初始化进程&#xff08;init&#xff09; 二、服务 2.1、服务类型 2.2、服务管理工具 三、运行级别 四、systemd …...

网络工程师 (30)以太网技术

一、起源与发展 以太网技术起源于20世纪70年代&#xff0c;最初由Xerox公司的帕洛阿尔托研究中心&#xff08;PARC&#xff09;开发。最初的以太网采用同轴电缆作为传输介质&#xff0c;数据传输速率为2.94Mbps&#xff08;后发展为10Mbps&#xff09;&#xff0c;主要用于解决…...

react项目引入tailwindcss不生效解决方案

根据tailwindcss官网的操作步骤下来&#xff0c;样式未生效&#xff0c;且未报错&#xff0c;看了挺多的资料&#xff0c;还是并未解决。 后面在另一个项目尝试时&#xff0c;报了下面的问题&#xff1a; Error: PostCSS plugin tailwindcss requires PostCSS 8 根据这个链接…...

【C#】条件运算符

1.逻辑与(&&) Console.WriteLine(true && true);//true Console.WriteLine(true && false);//false Console.WriteLine(false && false);//false2.逻辑或(||) Console.WriteLine(true || true);//true Console.WriteLine(true || false);//t…...

Windows11+PyCharm利用MMSegmentation训练自己的数据集保姆级教程

系统版本&#xff1a;Windows 11 依赖环境&#xff1a;Anaconda3 运行软件&#xff1a;PyCharm 一.环境配置 通过Anaconda Prompt(anaconda)打开终端创建一个虚拟环境 conda create --name mmseg python3.93.激活虚拟环境 conda activate mmseg 4.安装pytorch和cuda tor…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...