华为云云耀云服务器L实例评测|Git 私服搭建指南

news2024/11/22 19:39:45

前言

本文为华为云云耀云服务器L实例测评文章,测评内容是 云耀云服务器L实例 Git 私有服务器搭建指南

系统配置:2核2G 3M Ubuntu 20.04

我们平时在使用代码托管服务的时候,可能某些代码托管平台对成员有限制,或是由于内容原因会对仓库进行封禁,这些问题让我们非常苦恼。这个时候搭建 Git 私服不失为一种不错的替代方案

下面将会讲解两种搭建 Git 私服方式:GitLab 私服和 Codeup 平台

GitLab 私服

简介

GitHub 和 GitLab 都是基于 Git 的开发流程代码托管平台。两者的区别是 GitHub 有私有仓库和共有仓库,私有仓库一般收费GitLab 打破这种限制,可以免费搭建私有仓库,并且可以部署在自己的服务器上。GitLab 不仅有 GitHub 的功能,还有更多的优秀特性,比如权限设置。一般企业内部软件产品用 GitLab 是更好的选择,如果是开源产品,一般放在 GitHub 上。

Ubuntu

Ubuntu 20.04

依赖配置

配置依赖

sudo apt-get update -y
sudo apt-get install -y curl openssh-server ca-certificates postfix

系统防火墙中打开 HTTPHTTPS SSH 访问 (可选,不设置则只能从本地网络访问 )

sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

开启 Postfix 以发送电子邮件通知 (可选)

sudo systemctl enable postfix
sudo systemctl start postfix

开始安装

清华镜像官网:gitlab-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

然后获取您的系统对应版本的安装命令

首先信任 GitLab 的 GPG 公钥:

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
touch /etc/apt/sources.list.d/gitlab-ce.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main" | sudo tee -a /etc/apt/sources.list.d/gitlab-ce.list

最后安装 gitlab-ce

sudo apt-get update
sudo apt-get install gitlab-ce

安装成功

在这里插入图片描述

配置端口及网址

进入文件 /etc/gitlab/gitlab.rb,进行如下配置

# 编辑文件
vim /etc/gitlab/gitlab.rb

external_url 'http://gitlab.example.com'
# 更改为如下
external_url 'http://<本机ip>:8899'

重新配置

sudo gitlab-ctl reconfigure
# 开启应用
sudo gitlab-ctl start

但是这里重新配置很容易卡住,可以使用如下命令解决

nohup /opt/gitlab/embedded/bin/runsvdir-start &
gitlab-ctl reconfigure

配置成功

image-20230915183125595

登录应用

我们注意到上面我们使用 sudo gitlab-ctl reconfigure 之后控制台出现的的下面的信息

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

上述输出表示在 GitLab 中,默认的管理员账户的用户名是"root",密码被存储在/etc/gitlab/initial_root_password文件中。同时该文件将在首次重新配置运行后的24小时内被清除。

访问之前 external_url 设置的网址,如果是在云服务器上的话,需要开启安全组和对应防火墙

sudo ufw allow <端口>
sudo ufw deny <端口>
# 关闭 ufw
systemctl stop ufw.service

但是访问之后出现 502 We're sorry. GitLab is taking too much time to respond. 问题

502 解决方案

vim /etc/gitlab/gitlab.rb
# 添加下面一行(14.x以下)
unicorn['port'] = 8088
# 14.x 及其以上
puma['port'] = 8088

重启应用

gitlab-ctl reconfigure
gitlab-ctl restart

还有问题就查看端口是否被占用,或是内存是否不足

成功访问

最后终于成功访问 GitLab 页面

image-20230915210129983

查看 root 用户密码,登录之后尽量更改密码

cat /etc/gitlab/initial_root_password

image-20230915210304181

创建项目

image-20230915210720634

添加 SSH

image-20230915210834219

最后使用两种方式克隆项目,进行开发即可

image-20230915211248955

CentOS

CentOS 7.6

依赖配置

sudo yum install -y curl policycoreutils-python openssh-server perl

系统防火墙中打开 HTTPHTTPS SSH 访问 (可选,不设置则只能从本地网络访问 )

sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

安装 Postfix 以发送电子邮件通知 (可选)

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

其他配置基本类似,这里不再赘述

Codeup 平台

平台官网:云效代码管理 Codeup_代码托管_企业级代码管理平台-阿里云 (aliyun.com)

阿里云-云效 Codeup 是一款企业代码托管平台,支持在线编写和在线 web IDE,非常适合大型企业及小型团队编写进行代码托管

创建代码库

首先我们注册成功之后会进入控制台,我们点击添加库创建代码库

image-20230915181428618

配置 SSH

下面我们主要是使用 SSH(RSA) 的方式讲解如何管理代码库

查看密钥

cat ~/.ssh/id_rsa.pub

可以查看到密钥即可跳过第二步

生成密钥

ssh-keygen -t rsa -C "<注释内容>"

复制密钥(winodws)

cat ~/.ssh/id_rsa.pub | clip

设置平台公钥

SSH 公钥配置

配置页面:个人设置 (aliyun.com)

image-20230915190648682

之后我们就可以连接 SSH 操作远程仓库了

image-20230915193452570

多密钥配置

编辑 ~/.ssh/config

# Codeup 示例用户1
HostName codeup.aliyun.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_ed25519
  
# Codeup 示例用户2,设置别名 codeup-user-2
Host codeup-user-2
HostName codeup.aliyun.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/codeup_user_2_ed25519

# GitLab 平台
HostName gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab_ed25519

按照上述配置,使用SSH协议访问时,SSH 客户端会使用文件指定的密钥进行认证,实现访问不同平台或同一平台的不同账号使用本地不同的 SSH 密钥进行认证。

  • 访问 Codeup ,由于 HostName 一致,使用别名进行区分使用不同的密钥。
  • 访问 GitLab,根据 HostName 进行区分使用不同的密钥。
# 访问 Codeup,将使用 ~/.ssh/id_ed25519.pub 密钥
git clone git@codeup.aliyun.com:example/repo.com

# 以 codeup-user-2 别名访问 Codeup 时,将使用 ~/.ssh/codeup_user_2_ed25519 密钥 
git clone git@codeup-user-2:example/repo.com

# 访问 GitLab 平台,将使用 ~/.ssh/gitlab_ed25519 密钥
git clone git@gitlab.com:example/repo.com

部署密钥(可选)

开启企业白名单

网址:安全设置 · Codeup (aliyun.com)

image-20230915190059109

新建密钥,然后粘贴公钥

注意:此公钥不可与上面的 SSH 公钥相同

image-20230915190146044

参考文章

搭建GitLab私服详细步骤_git私服_晴空๓的博客-CSDN博客

Git学习笔记之搭建私服-腾讯云开发者社区-腾讯云 (tencent.com)

Ubuntu 18.04搭建GitLab私服_gitlab 服务器搭建 ubuntu18_沙漠中的独行者的博客-CSDN博客

linux中安装Gitlab服务器后登录报错502解决办法(图文结合)_青山孤客的博客-CSDN博客

gitlab-ce-10.0.2版本升级到15.4.2 - 掘金 (juejin.cn)

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

自动编码器

Autoencoder is designed in a way to perform task of data encoding plus data decoding to reconstruct input. -- Anushka Jain 前言 两兄弟 N.Coder 和 D.Coder 经营着一家艺术画廊。一周末&#xff0c;他们举办了一场特别奇怪的展览&#xff0c;因为它只有一面墙&#x…

nginx中sent_timeout属性使用注意事项

send_timeout使用注意事项 send_timeout:指客户端向服务器发送请求并且等待服务器返回数据的时间&#xff0c;超过这个时间链接就断开。如果咱们返回的数据复杂&#xff0c;很耗时&#xff0c;就将该值设置大些。注意该时间指准备过程&#xff0c;不是传输过程&#xff08;下载…

在线海报图片设计器、图片编辑器源码/仿照稿定设计源码

在线海报设计系统素材设计源码是一个漂亮且功能强大的在线海报图片设计器&#xff0c;仿照稿定设计而成。该系统适用于多种场景&#xff0c;包括海报图片生成、电商分享图、文章长图、视频/公众号封面等。用户无需下载软件&#xff0c;即可轻松实现创意&#xff0c;迅速完成排版…

7-38 掉入陷阱的数字

输入样例: 5 输出样例: 1:16 2:22 3:13 4:13 ACcode: #include <bits/stdc.h>using namespace std;int main(){int n;cin >> n;vector<int> ans;int limit 1;ans.push_back(n);for(int i0; i<limit; i){//各位数字的和int sum 0;int num ans[i];w…

独立开发了一款Material3风格的RSS阅读器 - Agr Reader

截图 背景&#x1f4d6; 在之前接触到RSS后&#xff0c;发现RSS真是一个十分不错的信息聚合的方式&#xff0c;虽然现在看来RSS的时代已经开始落幕&#xff0c;但是至少目前还是处于能用的阶段。 在我用了Android上好几个RSS阅读App后&#xff0c;发现很多在全文解析方面不是…

栈与队列经典题目——用栈实现队列

上篇文章对栈和队列的一个经典题目——Leetcode.225-用队列实现栈进行讲解。本篇文章将对另一个题目Leetcode.232-用栈实现队列进行讲解 1. Leetcode.232——用栈实现队列&#xff1a; 题目如下&#xff1a; 1.1 大体思路分析&#xff1a; 题目要求需要实现下列函数所表示的…

JAVA注解总结

总结一下java注解。 元注解 元注解也是一种注解。元注解的作用就是来限制和定义一个普通的注解。 注解的语法 public(可选) interface 注解名称{ 具体的参数 } 注解里面的参数 第一个表示参数的类型是什么&#xff0c;类型后面可以跟[],表示数组&#xff0c;在后面就是参数…

详解机器视觉性能指标相关概念——混淆矩阵、IoU、ROC曲线、mAP等

目录 0. 前言 1. 图像分类性能指标 1.1 混淆矩阵(Confusion Matrix) 1.2 准确率(Precision) 1.3 召回率(Recall) 1.4 F1值(F1 score) 1.5 ROC曲线(接收者工作特征曲线&#xff0c;Receiver Operating Characteristic curve) 1.6 mAP(mean Average Precision) 2. 图像分…

Apereo CAS反序列化漏洞中数据加解密研究

Apereo CAS反序列化漏洞中数据加解密研究 0x01、简介0x02、网上获取资料0x03、初步运行失败1、分析&#xff1a;2、Tips&#xff1a; 0x04、分析原因1、自己写解密算法 / 直接使用cas工程的相关jar包、java文件&#xff0c;调用解密函数2、为什么会解密失败&#xff1f; 0x05、…

企业级数据仓库-数仓实战

数仓实战 安装包大小 安装清单 环境搭建 一、环境搭建01&#xff08;机器准备&#xff09; 准备好三台虚拟机&#xff0c;并进行修改hostname、在hosts文件增加ip地址和主机名映射 。 1、设置每个虚拟机的hostname vi /etc/sysconfig/network 修改HOSTNAMEnode02修改hostna…

PY32F003F18之输入捕获

输入捕获是定时器的功能之一&#xff0c;配合外部引脚&#xff0c;捕获脉宽时间或采集周期。 CPU中的定时器最基本的功能就是计数功能&#xff0c;其次是输入捕获(IC)&#xff0c;再次就是比较输出(OC)&#xff0c;还有就是使用引脚对外部时钟进行计数&#xff0c;触发信号捕捉…

6- 华为云查看容器日志

1 查看位置 二 进入容器查看 ls cat main.py # 退出命令是 exit() 或者 quit() cat main.py 在docker使用该命令进入文件后的退出命令

Mapbox gl HTML经纬度点渲染,动态轨迹播放,自定义图形以及轨迹上显示箭头方向

Mapbox gl HTML经纬度点渲染&#xff0c;动态轨迹播放&#xff0c;自定义图形以及轨迹上显示箭头方向 1. 效果图2. 源码2.1 line.html2.2line_arrow.html 参考 今天要排查个问题&#xff0c;需要显示多个经纬度点连接成线段的方向&#xff0c;于是尝试下展示。 1. mapbox渲染经…

element plus封装el-select添加后缀图标并添加远程搜索和对话框功能

当提交的表单Form需要填某个实体的外键ID时&#xff0c;当然不可能使用el-input组件&#xff0c;这个适合提交字符串&#xff0c;然后用户又不可能记住某个引用的外键ID&#xff0c;这时候使用el-select还是必要的。 el-select组件一般都作为下拉选择框使用&#xff0c;但仅在…

Java实现通过文字生成图片

一、前言 在实际应用中&#xff0c;我们可能需要将用户姓名作为头像显示&#xff0c;那么我们可以通过Java来实现。 二、如何实现 1.定义一个工具类&#xff0c;代码如下&#xff1a; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import javax.imageio.ImageIO…

三分钟使用ngrok实现内网穿透

1.官网注册 官网地址&#xff1a;https://ngrok.com/ tips:若使用邮箱注册自行认证 2.下载对应部署电脑 压缩包&#xff08;此处笔者使用自己电脑因此以Windows11作为案例&#xff09; 解压下载的ngrok压缩包&#xff0c;在对应目录进入命令提示符装口&#xff08;也可直接…

竞赛 基于机器视觉的银行卡识别系统 - opencv python

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的银行卡识别算法设计 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng…

基于 I2C 协议的 AD实验(附代码)

目录 1. 理论学习 1.1 AD介绍 1.2 I2C 简介 1.2.1 I2C物理层 1.2.2 I2C协议层 1.3 PCF8591芯片简介 1.3.1 引脚信息 1.3.2 功能描述 2. 实验 2.1 硬件资源 2.2 模块框图 2.3 程序设计 2.3.1 工程整体框图 2.3.2 I2C驱动模块 1. 模块框图 2. 波形图分析&#xf…

来看看Python MetaClass元类详解

MetaClass元类&#xff0c;本质也是一个类&#xff0c;但和普通类的用法不同&#xff0c;它可以对类内部的定义&#xff08;包括类属性和类方法&#xff09;进行动态的修改。可以这么说&#xff0c;使用元类的主要目的就是为了实现在创建类时&#xff0c;能够动态地改变类中定义…

Docker网络学习

文章目录 Docker容器网络1.Docker为什么需要网络管理2. Docker网络简介3. 常见的网络类型4. docker 网络管理命令5.两种网络加入差异6.网络讲解docker Bridge 网络docker Host 网络docker Container 网络docker none 网络 Docker容器网络 1.Docker为什么需要网络管理 容器的网…