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

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
对象存储 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上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
|
6月前
|
jenkins Java 持续交付
jenkins学习笔记之十六:SonarSQube支持多分支
jenkins学习笔记之十六:SonarSQube支持多分支
|
6月前
|
Linux 开发工具 git
|
监控 jenkins 持续交付
Python3,仅仅2段代码,就实现项目代码自动上传及部署,再也不需要Jenkins了。
Python3,仅仅2段代码,就实现项目代码自动上传及部署,再也不需要Jenkins了。
100 0
|
算法 Java Linux
注意!不看太后悔了!未来工作中如何多人协作?让我用git给你演示!
目前,我们的仓库中只有一个 master 主分支,但在实际的项目开发中,在任何情况下其实都是不允许直接在 master 分支上修改代码的,这是为了保证主分支的稳定。这时推送失败,因为你的小伙伴的最新提交和你推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用 git pull 把最新的提交从origin/dev 抓下来,然后,在本地进行合并,并解决冲。要说明的是,我们切换到的是本地的 dev 分支,根据示例中的操作,会将本地分支和远程分支的进行关系链接。冲突,就使用我们之前讲的冲突处理解决掉冲突。
194 0
|
IDE 开发工具 git
使用gitee做为仓库管理项目,适合新手,详细有图
使用gitee做为仓库管理项目,适合新手,详细有图
229 0
使用gitee做为仓库管理项目,适合新手,详细有图
|
Shell 网络安全 开发工具
【Git用法】如何将本地项目上传到码云,只需这几步,每个步骤都有图文
如何将本地项目上传到码云,只需这几步,每个步骤都有图文
1551 0
【Git用法】如何将本地项目上传到码云,只需这几步,每个步骤都有图文
|
网络安全 开发工具 git
2023年1月伊凡梳理如何快速安装git并且配置本地gitee账号权限方便拉代码
本文优雅草伊凡投稿一颗优雅草科技,欢迎其他朋友们来投稿(一定会详细署名)还是那个原因因为重装了因此git信息已经没有了,还是那个原因因为网上各类文章鱼龙混杂有好的有坏的,真正可用的其实还是不好找的,自己弄一遍也熟悉一遍现在开始。执行后敲三次回车,分别是在问保存到哪个文件,输入口令,请再次确认口令,都不管因此回车。此处需要去生成,很简单,上面第一个是我之前已经生成过的也就是本机,我先删掉。大意就是我之前因为用的公钥对应的不一样造成的,简单,执行一下下。得到这个返回提问就是成功!这样就是成功了,然后执行。
192 0
2023年1月伊凡梳理如何快速安装git并且配置本地gitee账号权限方便拉代码
uiu
|
存储 缓存 Java
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(二)
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(二)
uiu
291 0
【手把手带你操作 | 一万字总结】Git操作入门与GitHub 实践(二)