想要拥有自己的代码仓库服务?看这一篇就够了

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 【5月更文挑战第15天】本文档介绍了在Ubuntu 20上搭建Git服务器的步骤,包括参照官方安装指南、设置EXTERNAL_URL为IP地址以跳过HTTPS,以及解决可能的问题如重启gitlab服务。文章总结了Git服务器安装的简易性,但指出可能遇到的CICD问题,并建议可考虑使用GitHub或GitLab。

1 git服务器建立

如果不清楚git的用处,可以看这里

    https://git-scm.com/

ubuntu 20 官方安装说明

   https://about.gitlab.com/install/#ubuntu

注意: 在安装时,最后一步 https 如果没有域名可用,或者不需要使用加密https协议,需要替换域名为ip地址

sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee
替换为
sudo EXTERNAL_URL="http://192.168.136.130" apt-get install gitlab-ee

如果安装完成后,gitlab服务器仍然不能工作

    sudo gitlab-ctl restart

配置和启用外部ip地址访问服务,编辑配置,并重启服务
sudo vim /etc/gitlab/gitlab.rb
external_url "http://192.168.10.1"
sudo gitlab-ctl reconfigure

相对路径的禁用

sudo gitlab-ctl restart unicorn

登录并设置密码

生成ssh密钥对 RSA算法 至少2048位,-C标志带有带引号的注释,例如电子邮件地址,是标记SSH密钥的一种可选方式

ssh-keygen -t rsa -b 4096 -C "example@gmail.com"

更新密钥

ssh-keygen -p -f /path/to/ssh_key

2 设置

  • 设置密钥

在web界面。 用户头像--设置--ssh密钥,将生成的公钥pub添加到页面

在git ssh 客户端添加私钥地址,设置ssh代理环境

    eval $(ssh-agent -s)

添加(如果ssh产生私钥在当前目录)

    ssh-add ./id_rsa
  • 生成一个 32位随机密钥

    openssl rand -hex 32

  • 调试

综合安装的调试指令 sudo gitlab-rails console
启动控制台后添加日志监控 ActiveRecord::Base.logger = Logger.new(STDOUT)

gitlab 服务器添加和管理用户

run: alertmanager:

run: gitaly: 

run: gitlab-exporter: 

run: gitlab-workhorse:
run: grafana: 
run: logrotate: 
run: nginx: 
run: node-exporter: 
run: postgres-exporter: 
run: postgresql: 
run: prometheus: 
run: puma: 
run: redis:
run: redis-exporter: 
run: sidekiq: 
  • 语言设置
    用户登录后,在右上角 设置--用户设置--偏好设置

3 CI/CD 持续集成,持续发布

安装gitrunner参考链接:

https://docs.gitlab.com/runner/install/linux-manually.html

注册gitrunner,绑定gitlab地址url,token和执行者,注册参考文档

https://docs.gitlab.com/runner/register/index.html#docker

在gitlab服务器的设置-CICD-展开可以查到当前gitlab服务的

    url:http://192.168.136.130
    token:Qi1yC28qsoFVzQtRyaus

continue delopy, comtinue intergration
Step 1:  add .gitlab-ci.yml in the root folder of your project/repo
Step 2: git commit and git push to git repo
Step 3: Create Gitlab runner for the project  
Step 4: Start the runner
Step 5: Make any change in the project -> commit -> push

步骤3 本机配置失败 需要安装,注册runner到你的gitlab服务器 http://192.168.136.130

gitlab runner 注册

sudo gitlab-runner register --config /tmp/test-config.toml --template-config /tmp/test-config.template.toml --non-interactive --url http://192.168.136.130 --registration-token "your gitlab token" --name test-runner --tag-list bash,test --locked --paused --executor shell

或者一步步配置

sudo gitlab-runner start    
--url http://192.168.136.130 
--registration-token "your gitlab token" 
--name test-runner 
--tag-list bash,test 
--locked 
--paused 
--executor shell

4 总结

这里配置过程中介绍了SSH密钥对的生成与配置、32位随机密钥的生成,以及GitLab服务器用户管理和语言设置。以及CI/CD的配置,包括安装GitRunner、注册Runner到GitLab服务器,并提供注册命令。

在ubuntu中,安装git服务容易上手,可以尝试做一个试试。

最后,安装完成后,yml文件放在项目的根目录下,格式也正确,runner也注册成功跑起来了但是项目CICD中没有用户的项目提交记录。

如果不希望如此麻烦,可以直接使用github,gitlib 指令大同小异。
下一节我们了解其中的常用指令。

目录
相关文章
2022 如何删除GitHub上的代码仓库(详细图解过程 对英文初学者友好)
这篇文章提供了一个对英文初学者友好的删除GitHub代码仓库的详细图解过程,但实际内容似乎与标题不符,主要是介绍了如何在GitHub上创建代码仓库的步骤,包括注册账号、创建新仓库、填写仓库信息、设置仓库可见性以及添加README文件等,并提供了相关操作的引用链接。
2022 如何删除GitHub上的代码仓库(详细图解过程 对英文初学者友好)
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
这篇文章是一份详细的GitHub使用教程,介绍了如何在GitHub上创建仓库、创建分支、编辑和发布更改内容、发起拉取请求以及合并分支的操作步骤。
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
|
4月前
|
Linux 开发工具 git
|
IDE 开发工具 git
使用gitee做为仓库管理项目,适合新手,详细有图
使用gitee做为仓库管理项目,适合新手,详细有图
204 0
使用gitee做为仓库管理项目,适合新手,详细有图
|
JavaScript 前端开发 NoSQL
GitHub 近两万 Star,无需编码,可一键生成前后端代码 上
GitHub 近两万 Star,无需编码,可一键生成前后端代码 上
181 0
GitHub 近两万 Star,无需编码,可一键生成前后端代码  上
|
BI
GitHub 近两万 Star,无需编码,可一键生成前后端代码 下
GitHub 近两万 Star,无需编码,可一键生成前后端代码 下
124 0
GitHub 近两万 Star,无需编码,可一键生成前后端代码   下
|
Shell 网络安全 开发工具
【Git用法】如何将本地项目上传到码云,只需这几步,每个步骤都有图文
如何将本地项目上传到码云,只需这几步,每个步骤都有图文
1517 0
【Git用法】如何将本地项目上传到码云,只需这几步,每个步骤都有图文
|
安全 前端开发 Shell
git相关问题解析,你想要的都有🔥
git相关问题解析,你想要的都有🔥
188 0
git相关问题解析,你想要的都有🔥
uiu
|
存储 缓存 Java
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(二)
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(二)
uiu
280 0
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(二)
uiu
|
Linux 网络安全 开发工具
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(一)
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(一)
uiu
267 0
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(一)