热门标签 | 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


推荐阅读
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍了如何使用Java中的同步方法和同步代码块来实现两个线程的交替打印。一个线程负责打印1到52的数字,另一个线程负责打印A到Z的字母,确保输出顺序为12A34B...5152Z。 ... [详细]
  • 本文详细解释了如何使用@IfProfileValue注解来检测Spring框架中的配置文件是否处于活动状态,并探讨其与@Profile和@activeProfiles的区别。 ... [详细]
  • 作为一名 Ember.js 新手,了解如何在路由和模型中正确加载 JSON 数据是至关重要的。本文将探讨两者之间的差异,并提供实用的建议。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 开发笔记:2020 BJDCTF Re encode
    开发笔记:2020 BJDCTF Re encode ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 概率图模型中的条件概率分布(CPD)详解
    条件概率分布(Conditional Probability Distribution, CPD)是概率图模型中的核心概念之一,用于描述随机变量在给定条件下遵循的概率分布。本文将深入探讨CPD的不同类型及其在实际问题中的应用。 ... [详细]
  • C# LiNQ 查询 join连接
    C# LiNQ 查询 join连接 ... [详细]
  • 本文介绍了一种根据用户选择动态切换屏幕界面的方法,通过定义不同的选择块(Selection Block),实现灵活的用户交互体验。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 本文介绍了一个用于 Android 开发的 Logcat 日志管理工具类,该类提供了默认和自定义标签的日志记录方法。通过这种方式,开发者可以更方便地管理和调试应用程序中的日志输出。 ... [详细]
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社区 版权所有