Git 代码库 gogs 部署私服及 https 配置手册

news2024/11/24 17:04:41

背景

玩了一下 Git ,想到一个问题:企业内部怎么用 Git 呢?仓库哪里来呢?

理一理 Git 及其相关产品的区别:

  1. Git 分布式版本管理工具。
  2. GitHub 和 Gitee ,基于 Git 的互联网代码托管平台,一个是国外的,一个是国内的。
  3. GitLab,基于 Git 的互联网代码托管平台,可以在企业内部局域网部署,缺点是重量级。
  4. gogs,基于 Git 、易于搭建的 Git 服务,轻量级。
  5. Gitea,类似 gogs ,轻量级 Git 平台。

所以小项目、小公司,又不想曝露在互联网上的话,可以选择 gogs 来部署。部署 gogs 玩了一下,确实很容易。

安装

CentOS 系统下,准备操作:

  1. yum install git。
  2. 官网下载地址,下载最新版本 gogs_0.13.0_linux_386.tar.gz ,上传目标服务器。
  3. 解压:tar -xvf gogs_0.13.0_linux_386.tar.gz
  4. 进入解压目录 gogs ,执行 :./gogs web

第四步执行过程中,如果 go 依赖包不存在时,会碰到两个错误:

  • 错误一: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录。解决办法:执行安装命令 yum -y install glibc.i686
  • 错误二:libpam.so.0: cannot open shared object file: No such file or directory。解决办法:执行安装命令 yum install libpam.so.0

解决完这两个问题后,再次执行启动命令:./gogs web

初始化

gogs 启动成功后,默认端口是 3000,访问安装页面:
在这里插入图片描述
简单配置为 SQLite3 数据库。

域名 localhost 改为目标主机 IP,系统运行用户设置为启动用户,SSH 勾选内置修改默认端口。
在这里插入图片描述
不创建用户,直接提交,自动跳转到登录首页:
在这里插入图片描述
创建一个用户,第一个帐号被视为管理员用户。

使用

创建用户并登录,进入系统首页:
在这里插入图片描述
操作界面比较简单,基本操作有:

  1. 创建组织
  2. 创建仓库
  3. 邀请成员

新建仓库的时候,总是会报错,多试几次就能创建成了。

访问仓库

创建仓库后,使用 SourceTree 克隆该仓库,就可以像其他开源应用一样访问 gogs 上托管的应用了。

推送时会弹出帐号认证配置:
在这里插入图片描述
输入在 gogs 上注册的帐号和密码后,就完成了文件推送了。

https 部署

如果需要将 gogs 改成 https 的部署方式,需要执行的操作:
第一步,修改 conf/app.ini 配置的 [server] 部分添加 PROTOCOL=https
在这里插入图片描述

第二步,生成 https 证书文件目录及文件:
在这里插入图片描述
这是官网搜到的默认的 https 的默认配置信息,需要生成证书文件放在 custom/https 目录下。

启示录

还有最后一个问题没解决,就是使用 SourceTree 访问 gogs 私服仓库的时候,每次都需要输入 gogs 的密码,想在 SourceTree 中创建全局帐号,尝试了每一种托管主机都不可行:
在这里插入图片描述
虽然麻烦一点,但是 Git 的操作的路径是打通了的。

总结:Git 基本用法、Git GUI 客户端用法 、gogs 私服搭建,一套搞下来,工具都弄明白了,可以出师了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1185650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【小技巧】WPS统计纯汉字(不计标点符号)

【小技巧】WPS统计纯汉字(不计标点符号) 首先,CtrlF打开查找页面: 选择“高级搜索”,然后勾选“使用通配符”,然后在“查找内容”后面输入:[一-﨩]。注意:一定要带“[]”和“-”且…

FreeRTOS_空闲任务

目录 1. 空闲任务详解 1.1 空闲任务简介 1.2 空闲任务的创建 1.3 空闲任务函数 2. 空闲任务钩子函数详解 2.1 钩子函数 2.2 空闲任务钩子函数 3. 空闲任务钩子函数实验 3.1 main.c 空闲任务是 FreeRTOS 必不可少的一个任务,其他 RTOS 类系统也有空闲任务&a…

Android MotionLayout

MotionLayout exends ConstraintLayout(动画框架 过渡) View动画 API1 属性动画API11 过渡动画API18 root.width RootViewWidth TransitionManager.beginDelayedTransition(view) 过渡动画 可以改变其大小和流畅性 Fade 可以改变透明度 通过TrasitinManager管理 Go:动态替…

adb and 软件架构笔记

Native Service,这是Android系统里的一种特色,就是通过C或是C代码写出来的,供Java进行远程调用的Remote Service,因为C/C代码生成的是Native代码(机器代码),于是叫Native Service。 native服务…

Linux C语言进阶-D14指针函数

指针函数&#xff1a;指一个函数的返回值为地址量的函数 <数据类型>* <函数名称>&#xff08;<参数说明>&#xff09; { 语句序列; } 返回值&#xff1a;全部变量的地址、静态变量的地址、字符串常量的地址、堆上的地址 注意&#xff1a;不可返回局部变量…

Redis Java 开发简单示例

文章目录 一、概述二、Jedis 开发示例2.1 导入 maven 依赖2.2 使用连接池读写2.3 使用集群读写2.4 完整示例代码2.5 测试集群的搭建 三、Lettuce 开发示例3.1 导入 maven 依赖3.2 读写数据 四、Spring Boot Redis 开发示例4.1 导入 maven 依赖4.2 配置Redis服务地址4.3 基于 Re…

52基于MATLAB的希尔伯特Hilbert变换求包络谱

基于MATLAB的希尔伯特Hilbert变换求包络谱&#xff0c;对原始信号进行初步滤波&#xff0c;之后进行包络谱分析。可替换自己的数据进行优化。程序已调通&#xff0c;可直接运行。 52的尔伯特Hilbert变换包络谱 (xiaohongshu.com)

混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.1)

混沌系统在图像加密中的应用&#xff08;基于哈密顿能量函数的混沌系统构造1.1&#xff09; 前言一、基于广义哈密顿系统的一类混沌系统构造1.基本动力学特性分析2.数值分析 待续 前言 本文的主题是“基于哈密顿能量函数的混沌系统构造”&#xff0c;哈密顿能量函数是是全文研…

【Git】快速入门安装及使用git与svn的区别常用命令

一、导言 1、什么是svn&#xff1f; SVN是Subversion的简称&#xff0c;是一个集中式版本控制系统。与Git不同&#xff0c;SVN没有分布式的特性。在SVN中&#xff0c;项目的代码仓库位于服务器上&#xff0c;团队成员通过向服务器提交和获取代码来实现版本控制。SVN记录了每个文…

Go 接口:nil接口为什么不等于nil?

本文主要内容:深入了解接口类型的运行时表示层。 文章目录 一、Go 接口的地位二、接口的静态特性与动态特性2.1 接口的静态特性与动态特性介绍2.2 “动静皆备”的特性的好处 三、nil error 值 ! nil四、接口类型变量的内部表示第一种&#xff1a;nil 接口变量第二种&#xff1a…

JDBC(二)

第4章 操作BLOB类型字段 4.1 MySQL BLOB类型 MySQL中&#xff0c;BLOB是一个二进制大型对象&#xff0c;是一个可以存储大量数据的容器&#xff0c;它能容纳不同大小的数据。 插入BLOB类型的数据必须使用PreparedStatement&#xff0c;因为BLOB类型的数据无法使用字符串拼接写…

Hundred Finance 攻击事件分析

背景知识 Hundred Finance 是 fork Compound 的一个借贷项目&#xff0c;在2023/04/15遭受了黑客攻击。攻击者在发起攻击交易之前执行了两笔准备交易占据了池子&#xff0c;因为发起攻击的前提是池子处于 empty 的状态&#xff08;发行的 hToken 数量为 0&#xff09;。 准备交…

​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​

软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】 课本里章节里所有蓝色字体的思维导图

CAN 协议常见面试题总结

0.讲一下CAN通讯的过程 第一段&#xff1a;需要发送的通讯设备&#xff0c;先发送一个显性电平0&#xff0c;告诉其他通讯设备&#xff0c;需要开始通讯。 第二段&#xff1a;就是发送仲裁段&#xff0c;其中包括ID帧和数据帧类型&#xff0c;告诉其他通讯设备&#xff0c;需…

记录一次校园CTF--wp

一.第一题简单nc 这题直接nc 地址端口即可得到flags没有套路 二.第二题pwn:ezstack 这是一题栈溢出题目&#xff0c;查看保护&#xff1a; 没有开启PIE&#xff0c;运行下查看效果&#xff1a; 题目是一个文字购物游戏。 接着扔进IDA中分析&#xff1a; 在主函数中我们找到…

C++ string赋值和添加值

在MFC中使用C的string&#xff0c;要先#include <string>&#xff0c;然后&#xff0c;std::string s2("") 这样就可以了&#xff1b; void CStrnewView::OnDraw(CDC* pDC) {CStrnewDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for n…

【Redis】list常用命令内部编码使用场景

文章目录 前置知识列表类型的特点 命令LPUSHLPUSHXRPUSHRPUSHXLRANGELPOPRPOPLINDEXLREMLINSERTLTRIMLSETLLEN 阻塞版本命令BLPOPBRPOP 命令总结内部编码测试内部编码 使用场景消息队列分频道的消息队列 模拟栈和队列 前置知识 列表类型是⽤来存储多个有序的字符串&#xff0c…

项目管理之如何出道(上)

前言 终于有时间更新了&#xff0c;大家是不是等不及了&#xff1f;那么书接上文&#xff0c;言归正传。 各位盆友&#xff0c;时间之轮已划入夜晚&#xff0c;尝试静下心来&#xff0c;思考一番。 Q1&#xff1a;是否曾经期待自己做一名项目经理&#xff0c;干了几年的coder甚…

MinGW32丢失dll文件

问题现象 执行Makefile的时候&#xff0c;突然出现这个提示&#xff0c;还有好几个类似的&#xff0c;提示我找不到dll文件&#xff0c;建议重装。 问题分析 重装软件 最直接的办法肯定是按照建议来重装&#xff0c;但是发现重装了好几次&#xff0c;不是缺这个就是缺那个&a…

每天一道算法题:17. 电话号码的字母组合

难度 中等 题目 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits “23” …