DevOps元素周期表——1号元素 Gitlab
DevOps元素周期表——1号元素 Gitlab
GitLab 是由 GitLab Inc.开发,一款基于 Git 的完全集成的软件开发平台(fully integrated software development platform)。另外,GitLab 且具有wiki以及在线编辑、issue跟踪功能、CI/CD 等功能。
一. 简介
GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
GitLab 5.0以前版本要求服务器端采用 Gitolite 搭建,5.0版本以后不再使用 Gitolite ,采用自己开发的 gitlab-shell 来实现。如果你觉得安装麻烦可以使用 GitLab Installers 一键安装程序。
二. 安装配置
系统
Centos7
准备工作
关闭firewalld防火墙
- systemctl stop firewalld
- systemctl disable firewalld
关闭SELINUX并重启系统
vi /etc/sysconfig/selinux
SELINUX=disabled
reboot
开始安装
安装Omnibus Gitlab-ce package
# yum -y install curl policycoreutils openssh-server openssh-clients postfix
配置YUM仓库
# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
启动postfix邮件服务
# systemctl start postfix && systemctl enable postfix
安装Gitlab-ce社区版本
# yum install -y gitlab-ce
证书创建与配置加载
Nginx SSL代理服务配置
初始化Gitlab相关服务并完成安装
# mkdir -p /etc/gitlab/ssl # openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
# openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
# openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
# chmod 600 *
# vi /etc/gitlab/gitlab.rb
将eternal_url 'http://gitlab.example.com' 改为https
nginx['redirect_http_to_https'] = false 删除注释,改为true
nginx['ssl_certificate'] = "etc/gitlab/ssl/#{node...}.crt" 改为 "/etc/gitlab/ssl/gitlab.example.com.cre"
nginx['ssl_certificate_key'] = "etc/gitlab/ssl/#{node...}.key" 改为 "/etc/gitlab/ssl/gitlab.example.com.key"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
# gitlab-ctl reconfigure
# vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server_name下面添加rewrite ^(.*)$ https://$host$1 permanent
# gitlab-ctl restart
修改本地hosts文件
vmware-ip(虚拟机ip地址) gitlab.example.com
浏览器访问,登录修改admin账号密码
当然还可以通过docker来安装,不过对于gitlab这种服务,并不推荐使用docker,因为其服务依赖系统资源强,而且你的仓库也不希望一个简单的docker rm命令就可以被连带销毁掉。
DevOps元素周期表——1号元素 Gitlab的更多相关文章
- DevOps元素周期表—2号元素Kibana
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作.您可以使用 Kibana 对 Elasticsearch 索引 ...
- DevOps之持续集成Jenkins+Gitlab
一.什么是DevOps DevOps(英文Development(开发)和Operations(技术运营)的组合)是一组过程.方法与系统的统称,DevOps是一组最佳实践强调(开发.运维.测试)在应用 ...
- 基于 HTML5 Canvas 的元素周期表展示
前言 之前在网上看到别人写的有关元素周期表的文章,深深的勾起了一波回忆,记忆里初中时期背的“氢氦锂铍硼,碳氮氧氟氖,钠镁铝硅磷,硫氯氩钾钙”.“养(氧)龟(硅)铝铁盖(钙),哪(钠)家(钾)没(镁)青 ...
- GitLab CI/CD的官译【原】
CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断 ...
- 基于 webGL 的元素周期表 3D 交互展示
前言 之前在网上看到别人写的有关元素周期表的文章,深深的勾起了一波回忆,记忆里初中时期背的“氢氦锂铍硼,碳氮氧氟氖,钠镁铝硅磷,硫氯氩钾钙”.“养(氧)龟(硅)铝铁盖(钙),哪(钠)家(钾)没(镁)青 ...
- 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...
- SyntaxHighlighter行号显示错误问题解决方案
SyntaxHighlighter是根据代码中的换行符分配行号的.但是,如果一行代码或者注释比较长,在页面显示时需要分成多行显示,会出现行号对不上的问题,像这样: 通过设置CSS强制不换行,可以保证行 ...
- 【算法笔记】B1008 数组元素循环右移问题
1008 数组元素循环右移问题 (20 分) 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN ...
- 使用Appium进行微信公众号自动化测试
查看Android的webview视图版本:手机链接电脑后在电脑Chrome打开页面chrome://inspect/#devices查看Android的Chrome内核版本 下载与该版本相对 ...
随机推荐
- Labview学习之路(四)公式和公式节点
在labview里边,有公式和公式节点两个控件都可以实现表达复杂表达式的功能 公式 位置: 程序框图---编程---Express---算数与比较---公式 用法: 点开后是这个样子 可以任意添加输出 ...
- Android开发利用shareSDK等第三方分享,弹出的是英文名称。例如Genymotion模拟器
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Android开发利用shareSDK等第三方分享,弹出的是英文名称.例如Genymotion模拟器就 ...
- How to avoid multiple definition of function with gcc
LDFLAGS add -Wl,--allow-multiple-definition
- C#可空类型 T?
可空类型概述 可空类型具有以下特性: 可空类型表示可被赋值为 null 值的值类型变量.无法创建基于引用类型的可空类型.(引用类型已支持 null 值.). 语法 T? 是 System.Nullab ...
- vue中饼状图的使用
图形构建子组件 <template> <div> <div id="myChart" :style="echartStyle"&g ...
- IE9 报错 script1004缺少“;”
在IE9中不支持 let关键字,修改为var就可以了 作者:彼岸舞 时间:2020\07\31 内容关于:工作中用到的小技术 本文来源于网络,只做技术分享,一概不负任何责任
- 如何入门Pytorch之四:搭建神经网络训练MNIST
上一节我们学习了Pytorch优化网络的基本方法,本节我们将以MNIST数据集为例,通过搭建一个完整的神经网络,来加深对Pytorch的理解. 一.数据集 MNIST是一个非常经典的数据集,下载链接: ...
- linux系统漏洞扫描工具lynis
lynis 是一款运行在 Unix/Linux 平台上的基于主机的.开源的安全审计软件.Lynis是针对Unix/Linux的安全检查工具,可以发现潜在的安全威胁.这个工具覆盖可疑文件监测.漏洞.恶意 ...
- linux系统的默认用户
1.可以通过cat /etc/passwd |cut -f1 -d: 可以提取/etc/passwd文件的第一个字段 2.也可以通过vipw进入vi编辑器来查看该文件每一行的第一个字段 linux ...
- 第2课 - Hello, DTOS!
第2课 - Hello, DTOS! 1. 主引导程序 主引导程序是软件还是固件?如果是软件,那么由谁开发?如何开发? (1)上一节说到了固件和软件的区别.由于主引导程序没有在出厂前固化到硬件中,因此 ...