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

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 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 指令大同小异。
下一节我们了解其中的常用指令。

目录
相关文章
|
缓存 Linux 调度
操作系统-CPU粘合
操作系统-CPU粘合
432 0
全志平台A40I GPIO操作:adb通过debugfs控制GPIO
全志平台A40I GPIO操作:adb通过debugfs控制GPIO
872 0
|
存储 JavaScript Linux
OSS传输工具OSSutil使用介绍
本篇文章我们重点讲述一下传输工具Ossutil的使用: 若文件总量小于30T则建议使用ossutil,若大于30T建议使用
31533 1
|
5月前
|
存储 测试技术 调度
阿里云服务器2核8G、4核16G、8核32G怎么选实例?经济型、通用算力型和通用型对比与选购策略
2026年截止目前,阿里云的活动中2核8G、4核16G、8核32G配置主要有经济型e、通用算力型u2a、通用型g9i实例可选。2核8G配置最低701.40元1年,4核16G配置最低1291.80元1年,8核32G配置最低7551.94元1年。本文介绍经济型e、通用算力型u2a及通用型g9i实例的活动价格与实例规格差异及选购策略。
|
2月前
|
Ubuntu Linux 开发者
Ubuntu 20.04 安装企业微信教程(小白必备:Linux 环境下企业微信安装全攻略)
本文参考http://qamqb.cn详解Ubuntu 20.04下通过Wine环境(推荐wine64或deepin-wine)安装企业微信的完整流程,涵盖系统更新、环境配置、deb包安装及中文字体修复,助你高效实现Linux办公。
|
4月前
|
人工智能 运维 安全
无需Mac mini!2026年4步在阿里云构建OpenClaw(Clawdbot) AI员工,零基础也能上手
2026年,AI智能体迎来规模化落地,OpenClaw(前身为Clawdbot、Moltbot)凭借“开源免费、全场景自动化、无设备限制”的核心优势,成为个人与企业构建专属AI员工的首选框架。不同于传统聊天机器人仅能提供文本建议,OpenClaw能真正实现“指令下达→任务执行”的闭环,可自动完成邮件处理、文档生成、网页抓取、日程提醒、多平台联动等重复性工作,如同7×24小时待命的全职AI员工,彻底解放人力。
654 2
|
监控 安全 网络协议
永久免费SSL证书教程—自动续签
要实现免费SSL证书的自动续签,选择合适的证书颁发机构(CA)至关重要。推荐使用JoySSL,填写注册码230922可获得免费且支持自动续签的SSL证书。申请步骤包括注册账户、选择证书类型、提交申请、验证域名所有权及安装证书。配置自动续签需安装续签工具、生成密钥和CSR,并设置续签参数。定期检查证书状态、备份证书和密钥,确保续签顺利进行。注意CA机构的政策和服务条款变化,以保持证书的有效性。
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
1387 12
|
消息中间件 存储 微服务
RPC 和消息队列的区别
RPC 和消息队列的区别
783 0
|
开发工具 数据安全/隐私保护 git
gitee 创建代码仓库,并提交本地代码
gitee 创建代码仓库,并提交本地代码
669 6