热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Gitlab-搭建属于自己的gitlab

一:前言前两天在弄钉钉接口的机器人,发现了有github机器人,而且配置超级简单,只需要定义一个入口,当你提交后,后台会自动发送request、payload,调用git机器人发送钉钉

一:前言

前两天在弄钉钉接口的机器人,发现了有github机器人,而且配置超级简单,只需要定义一个入口,当你提交后,后台会自动发送 request、payload,调用git机器人发送钉钉消息。

然后就想着自己搭建一个gitlab能否实现此功能,于是就说做就做;

将自己实际搭建过程和大家分享一下。(来自官网)

官网 https://about.gitlab.com/downloads/

二:"git" 家族的成员

首先解决一个容易混淆的问题,我也经常搞混:

wKioL1jnYm7wrkc7AABlmT8TgNM035.png

wKiom1jnYm7h4KoMAAAQETH95z8298.png

wKioL1jnYm_jjZVlAAAX3__lHIk606.png

git
是一种版本控制系统,是一个命令,是一种工具
gitlib
是用于实现git功能的开发库
github
是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab
是一个基于git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服

三:官方推荐安装(rpm、yum)

1、安装依赖包

yum install curl policycoreutils openssh-server openssh-clients

systemctl enable sshd  &&  systemctl start sshd

yum install postfix

systemctl enable postfix  &&  systemctl start postfix

firewall-cmd --permanent --add-service=http    //永久设置http服务开放

systemctl reload firewalld

2、安装 gitlab-ce 社区版 (yum方式,ee是企业版,收费)

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh |sudo bash

wKiom1jnZA3gj2USAABKinjaqGI440.png


yum install gitlab-cewKioL1jnY-zSW6WLAABPCe2cTos452.png

wKioL1jnZFTiKFQhAAAu-KI5pPQ644.png

--------------------------------------------------------------------------------------

2、安装 gitlab-ce 社区版(rpm包安装方式)

wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download

rpm -i gitlab-ce-XXX.rpm

--------------------------------------------------------------------------------------

3、配置并开启 gitlab

gitlab-ctl reconfigure   //此时会输入如下很多信息,并启动好多服务

wKiom1jnZI-CBX_xAABqZ7w6-ks446.png

wKioL1jnZJDC09y0AAEHolAxfLM579.png


4、测试访问

首次登陆会跳出设置密码的界面,设置完后自动跳转到登录界面,默认用户名root。

登陆进去后,可以更改用户名、密码等。

初始登入时,总报502,也没有防火墙,经检查是内存不足,我是1G。

wKiom1jnZMnShYr5AABs_7W1zik001.png

5、说明

缺点:这种方式虽然说简单方便,但是定制型很差,默认只能使用postgre和nginx

主配置文件:/etc/gitlab/gitlab.rb   //可以自定义一些邮件服务等

日志地址:/var/log/gitlab/    // 对应各服务

服务地址:/var/opt/gitlab/   // 对应各服务的主目录

仓库地址:/var/opt/gitlab/git-data //记录项目仓库等提交信息

重置配置:gitlab-ctl reconfigure    //不要乱用,会重置为最原始的配置的

重启服务:gitlab-ctl  stop/start/restart  //启动命令

默认安装:postgres、nginx、redis、unicorn ......


6、配置(就是点点点,熟悉熟悉这个应用)

a、创建一个项目组groups,生成路径/var/opt/gitlab/git-data/repositories/;

b、创建一个仓库,可用三种方式链接,新的仓库、已存在的文件夹、已存在的仓库;

创建时可导入 github、gitlab、googlecode 等其他地方的仓库,需要对方token

wKiom1jot0SC1c6aAAB1ukzuME4413.png

c、根据下图路径及提示,创建用户、不加入或加入项目组或者项目或项目子组;

wKioL1jot1fACulDAAEJK0iSmxM731.png

该用户在此界面上面 Users 中设置密码后登录,根据得到的链接地址 git 到仓库

当然把你这台机器上的公钥拷到 seting -> ssh key 即可省去输入如密码一项

wKiom1jot2PDaV3uAACqxlKNzEk177.png


d、你的每次提交都会有记录在服务端  该组或该用户所在repositories中。

wKiom1jot23xZXwwAABl2SRode4076.png


-----------------------------------------------------------------------------------------

好了,简单的使用教程就到此为止了,后续更深入的使用,再与大家共同分享。

过一阵我会尝试用源码包自定制服务安装一回,敬请期待喽............

简化的使用手册:https://wenku.baidu.com/view/6ceb6662b8f67c1cfad6b88e.html




本文出自 “滕先生” 博客,请务必保留此出处http://tengxiansheng.blog.51cto.com/10693373/1914137


推荐阅读
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 本文详细介绍了如何在 Spring Boot 应用中通过 @PropertySource 注解读取非默认配置文件,包括配置文件的创建、映射类的设计以及确保 Spring 容器能够正确加载这些配置的方法。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
author-avatar
討厭香菇_748
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有