版本控制--搭建 GitLab 服务器

GitLab 简介

GitLab 是利用 Ruby On Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 GitHub 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序( Wall )进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitHub 它是一个开源的社区, 如果你想把你们公司的项目放在上面就得交钱, 如果不交钱就得开源, 而 GitLab 是一个本地的项目管理仓库, 既然是本地那么想怎么玩就怎么玩儿

优点

  • 社区版基于 MIT License 开源完全免费
  • 无用户,协作和仓库限制
  • 保护项目源码安全
  • 管理仓库,用户与访问权限

资料

  • 官方:https://about.gitlab.com/downloads/#ubuntu1404
  • 国内镜像:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

安装

1.安装和配置必要的依赖

如果你安装 postfix 发送邮件,如果你不需要邮件发送,可以跳过直接看第二步,请选择“网站设置”中。而不是使用后缀也可以使用道具或配置自定义 SMTP 服务器和它配置为 SMTP 服务器。在 CentOS 的6和7,下面的命令将在系统防火墙打开 HTTP 和 SSH 访问。

sudo apt-get install curl openssh-server ca-certificates postfix  

2.切换清华大学镜像 
首先信任 GitLab 的 GPG 公钥:

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null  

再选择你的 Debian/Ubuntu 版本,文本框中内容写进 /etc/apt/sources.list.d/gitlab-ce.list ubuntu14.04如下 其他版本请跳转国内镜像查看 
/etc/apt/sources.list.d/gitlab-ce.list 这个文件默认不存在 你需要创建并添加下面配置 vim /etc/apt/sources.list.d/gitlab-ce.list 把下面内容添加进去

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main  

添加完成执行更新 并安装gitlab

sudo apt-get update  
sudo apt-get install gitlab-ce  
安装成功之后

配置文件 
/etc/gitlab/gitlab.rb 
修改域名 
修改 /etc/gitlab/gitlab.rb文件

external_url '你的域名'  

配置邮箱

#Sending application email via SMTP
gitlab_rails['smtp_enable'] = true  
gitlab_rails['smtp_address'] = "smtp.163.com"  
gitlab_rails['smtp_port'] = 25  
gitlab_rails['smtp_user_name'] = "xxuser@163.com"  
gitlab_rails['smtp_password'] = "xxpassword"  
gitlab_rails['smtp_domain'] = "163.com"  
gitlab_rails['smtp_authentication'] = :login  
gitlab_rails['smtp_enable_starttls_auto'] = true##修改 gitlab 配置的发信人
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"  
user["git_user_email"] = "xxuser@163.com"

如果执行不成功 请检查配置和内存

gitlab-ctl reconfigure 重新编译启动

文档地址 
apt-get 安装默认集成了 nginx 如果你需要服务器在跑其他环境,你需要修改你的gitlab nginx 的端口 vim /etc/gitlab/gitlab.rb 修改下面这一行就好了

 nginx['listen_port'] = 8090 

使用 gitlab-ctl help 查看更多命令

参考

文章来源

转载于:https://www.cnblogs.com/jhcyzxx/p/10480018.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB 与 Excel 接口

MATLAB 与 Excel 接口MATLAB 与 Excel 有两种接口方式:一种是通过 MATLAB 提供的 Excel 生成器,生成220 MATLAB 实用教程DLL 组件和 VBA 代码,实现 Excel 对 MATLAB 的调用;另一种是利用 MATLAB 提供的 Excellink 插件&#xff0c…

计算 1+2!+3!+4!+...20!=?

package algs.factorial;import java.math.BigInteger;/*** Author: areful* Date: 2019/3/6* 计算 sum(n!), n1,2, ... 20*/ public class NFactorial {public static void main(String[] args) {System.out.println(calcFactorial0(3));System.out.println(calcFactorial1(3)…

转大学毕业后拉开差距的原因

原文 有人工作,有人继续上学,大家千万不要错过这篇文章,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享&…

用户态和内核态的理解和区别

1、linux进程有4GB地址空间,如图所示:3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。2、特权级的概念:对于任何操作系统来说,创建一个进程是核心功能。创建进…

面经-多益网络

面试时间:2019.07.22 QQ视频面试 面试岗位:人工智能及大数据/一面 面试时长:35分钟 面试内容: 自我介绍项目-视频召回实际场景题-怎么通过数学公式查找相似的数学公式对加班怎么看对比实习公司的特点主动询问落地方向面试评价&…

区块链基础语言(三)——Go语言开发工具

一、在Windows系统安装Goland 1.1 下载 官网地址&#xff1a;https://www.jetbrains.com/go/download/#sectionwindows 1.2 安装 a. 双击“goland-2018.1.5.exe”&#xff0c;单击“运行”&#xff0c;如图1所示&#xff1b; <图1> b. 如图2所示&#xff0c;单击“next”…

最小的K个数

最小的K个数 题目描述 输入n个整数&#xff0c;找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字&#xff0c;则最小的4个数字是1,2,3,4,。 未完, 待续, 好像设计堆排序 先排序在遍历, 此处使用插曲排序 class Solution { public:void insertSort(vector<int> &am…

准备重新开始写了

工作很忙,而且前一段时间项目组由于方向和人员调整一直很动荡,所以就没有心情和时间来整理技术.准备重新开张了,好好写,争取每个月出一到两篇说得过去的文章.转载于:https://www.cnblogs.com/sun/archive/2008/06/12/1218220.html

Georgia and Bob POJ - 1704 阶梯Nim

$ \color{#0066ff}{ 题目描述 }$ Georgia and Bob decide to play a self-invented game. They draw a row of grids on paper, number the grids from left to right by 1, 2, 3, ..., and place N chessmen on different grids, as shown in the following figure for exampl…

Tomcat总结

Tomcat调优原理&#xff1a; 1、增加最大连接数&#xff08;增大值避免队列请求过多&#xff0c;导致响应缓慢&#xff09; 2、调整工作模式 Bio(BlockingI/O)&#xff1a;默认工作模式&#xff0c;阻塞式I/O操作&#xff0c;没有任何优化技术处理&#xff0c;性能比较低。Nio(…

Android中写文本文件的方法

下面是我在Android开发中&#xff0c;一个写文本文件的方法&#xff0c;代码如下&#xff1a; //将字符串写入到文本文件中 public static void WriteTxtFile(String strcontent,String strFilePath) { //每次写入时&#xff0c;都换行写 String strConten…

前端笔记-jquery

jquery简介 兼容性强,轻量级库,js的框架,国外的大神写好我们只要调用就好了,jquery可以把js写的更加简单 jquery使用 <script srcjquery-x.x.x.js></script> 引入文件就行了 jquery语法 $(selector).action() jquery选择器 1.基本选择器 $("*") $(&quo…

JVM的监控工具之jstack

参考博客&#xff1a;https://www.jianshu.com/p/213710fb9e40 jstack&#xff08;Stack Trace for Java&#xff09;命令用于生成虚拟机当前时刻的线程快照&#xff08;一般称为threaddump或者javacore文件&#xff09;。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈…

liunx驱动----异步通知

查询&#xff1a;消耗资源 中断&#xff1a;read 一直要去读poll &#xff1a;指定起始时间异步通知signal 测试程序include <stdio.h> include <signal.h>void my_signal(int signum) {static unsigned int cnt;printf("signum %d, %d timer\n",signum…

面试官: 用css实现android系统的loading动画

源码: github.com/any86/any-u… ios/android web常用的loading图标有2种, 一种是ios的"菊花", 一种是android的"环". 今天我们用svg实现android的"环"动画, 下节课实现ios的"菊花". 注意: gif帧数少的原因, 实际动画效果是很平滑的.d…

2018-06-29 西游记主题Python入门示例尝试-数据结构 5.1-5.1.2

(见前: 中文代码示例视频演示Python入门第五章 数据结构 仍然基于官方文档, 欢迎建议(尤其是如何取材). 5. Data Structures - More on Lists 列表详述 >>> 人物 [佛, 妖, 凡人, 菩萨, 妖, 凡人] >>> 人物.count(妖) 2 >>> 人物.count(圣人) 0 >…

Niginx 集群负载均衡策略

Niginx 集群负载均衡策略 所需物料 1.Nginx服务 步骤略 本人 nginx version: nginx/1.16.0 2.Java Servlet 测试项目 新建java web 项目&#xff0c;项目名称为&#xff1a;tt import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annot…

C#循环给多个控件赋值

需要给 多个 文本框重新赋值 1 textBox1.Text"ss"; 2 3 textBox2.Text"ss"; 4 5 textBox999.Text"ss"; 6 7 textBox99999.Text"ss"; 这样太麻烦&#xff0c;控件过多不方便写 通过遍历 一次性赋值&#xff0c;再多也不怕了 将所有T…

记号一次更换IBM X3650M4主板后RAID无法启动的解决

https://wenku.baidu.com/view/9d503ef367ec102de2bd89d7.html 强烈感谢上面分享文档的大侠&#xff01;&#xff01; 1、更换主板后&#xff0c;linux系统&#xff0c;无法加载引导。需要设置主板的启动项 2、选择boot manager&#xff0c;进到下面的画面 3、选择add boot opt…

关于REST API设计的一些小经验

版权声明&#xff1a;转载时请以超链接形式标明文章原始出处和作者信息及本声明http://phoenixtoday.blogbus.com/logs/45855234.html 最近小组里有一些关于REST API设计的讨论&#xff0c;有些收获&#xff0c;打算在这里写一下。通常来讲设计第一个版本的REST API并不难&…