基于GitLab+Jenkin-CICD方案实践
前言
笔录于2022-
- 清华源:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
版本介绍: CE(社区版)、EE(企业版)
安装Gitlab:
[root@gitlab-service ~]# yum install wget -y
[root@gitlab-service ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.1.0-ce.0.el7.x86_64.rpm --no-check-certificate
[root@gitlab-service ~]# yum install gitlab-ce-14.1.0-ce.0.el7.x86_64.rpm -y
Installing : gitlab-ce-14.1.0-ce.0.el7.x86_64 1/1
It looks like GitLab has not been configured yet; skipping the upgrade script. *. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,. _______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/ Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url` #注意 GitLab 无法检测到实例的有效主机名,需要修改 URL 路径在 /etc/gitlab/gitlab.rb
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure
[root@gitlab-service ~]# vim /etc/gitlab/gitlab.rb
...
external_url 'http://20.20.10.193' #本机IP
[root@server-hub ~]# gitlab-ctl reconfigure #修改完后,使用gitlab-ctl reconfigure重新加载配置gitlab使配置生效,加载需要一会
[root@server-hub ~]# gitlab-ctl start #启动
[root@server-hub ~]# gitlab-ctl status #查看状态
GitLab常用组件
nginx #静态Web服务器
gitlab-shell #用于处理Git命令
gitlab-workhorse #轻量级的反向代理服务器
logrotate #日志文件管理工具
postgresql #数据库
redis #缓存数据库
unicorn #GitLab Rails应用是托管在这个服务器上面的
GitLab服务参数
常用参数如下:
/opt/gitlab #应用代码和相应的依赖程序
/etc/gitlab #配置文件目录
/etc/gitlab/gitlab.rb #gitlab配置文件
/var/log/gitlab #gitlab各个组件产生的日志/var/opt/gitlab/git-data/repositories #库默认存储目录
/var/opt/gitlab/backups/ #备份文件生成的目录
/var/opt/gitlab/gitlab-rails/etc/unicorn.rb #unicorn配置文件
/var/opt/gitlab/nginx/conf/gitlab-http.conf #nginx配置文件
GitLab常用命令
gitlab-ctl start #启动全部服务(也可指定单个服务)
gitlab-ctl restart #重启全部服务(也可指定单个服务)
gitlab-ctl stop #停止全部服务(也可指定单个服务)
gitlab-ctl reconfigure #使配置文件生效(修改主配置文件后使用)
gitlab-ctl show-config #验证配置文件
gitlab-ctl uninstall #卸载gitlab(保留数据)
gitlab-ctl cleanse #删除所有数据,从新开始
gitlab-ctl tail <service name> #查看服务的日志
登录GitLab
浏览器访问GitLab服务器地址:http://server_ip
默认用户名:root
root初始密码所在文件:cat /etc/gitlab/initial_root_password
GitLab 部署完成:
修改密码
部署完成后,下次登录还是需要看密码配置文件,所以一般部署完成后第一件事就是改密码,密码不验证复杂度,长度需满足8位:
修改Root密码
基于GitLab+Jenkin-CICD方案实践的更多相关文章
- 基于Gitlab的CICD流程
本片文章主要初步介绍什么是CICD流程,并且把整个流程进行拆分理解整个流程的跑通过程. 1.CICD概述 什么是CICD呢? 简单的说CICD就是持续集成自动构建自动测试自动部署. 从概念上就可以看出 ...
- 基于 Istio 的灰度发布架构方案实践之路
作者:京东物流 赵勇萍 1. 背景介绍 灰度发布,又名金丝雀发布,是指能够平滑过渡的一种发布方式.基于系统稳定性和快速业务迭代的综合考虑,业务应用开发团队采取了新版本服务灰度上线的方式,即新版本服务并 ...
- 基于nginx的频率控制方案思考和实践
基于nginx的频率控制方案思考 标签: 频率控制 nginx 背景 nginx其实有自带的limit_req和limit_conn模块,不过它们需要在配置文件中进行配置才能发挥作用,每次有频控策略的 ...
- 基于AWS的自动化部署实践
过年前,我给InfoQ写了篇文章详细介绍我们团队在过去4年基于AWS的自动化部署实践.文章包括了:为什么选择AWS.AWS上自动化部署的优势和挑战.我们的解决方案,以及和AWS DevOps方案(Op ...
- 基于GitLab CI搭建Golang自动构建环境
基于GitLab CI搭建Golang自动构建环境 Golang发布遇到的问题 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 开发者本地环境需要将环境变量文件改 ...
- 洪强宁:宜信PaaS平台基于Calico的容器网络实践
洪强宁:宜信PaaS平台基于Calico的容器网络实践 本文内容来自由七牛云主办的ECUG Con,独家授权InfoQ整理完成 容器云面临的网络挑战 在传统的IDC的架构里面网络是很重要的事情,在 ...
- 部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了
部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了 安大虎 momenta 中台开发工程师 6 人赞同了该文章 就目前的形势看,一家公司的运维体系不承载在 Do ...
- Ice系列--基于IceGrid的部署方案
前言 前一篇文章介绍了IceGrid的简单应用.这篇文章来介绍一下它的高端玩法-如何将模板,复制组,知名对象应用于部署方案及其作用. 基于模板的部署方案 之前介绍了xml格式的配置文件通过各种描述符如 ...
- 学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...
- 基于Open vSwitch的OpenFlow实践
Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机.在虚拟化平台上,OVS 可以为动态变化的端点提供 2 ...
随机推荐
- 怎么判断一个变量arr的话是否为数组(此题用 typeof 不行)?
arr instanceof Array arr.constructor == Array Object.protype.toString.call(arr) == '[Object Array]'
- yb课堂 ECMAScript 6常见语法快速入门 《三十一》
什么是ES 6 ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015).它的目标是使用JavaScri ...
- yb课堂之高并发项目必备利器之分布式缓存和本地缓存 《十九》
什么是缓存? 程序经常要调用的对象存储在内存中,方便其使用时可以快速调用,不必去数据库或者其他持久化设备中查询,主要就是提高性能 DNS.前端缓存.代理服务器缓存Nginx.应用程序缓存(本地缓存.分 ...
- yb课堂之分布式应用下登陆校验解决方案 JWT讲解 json wen token 《八》
什么是JWT? JWT是一个开放标准,它定义了一种用户简介,自包涵的用于通信双方之间以JSON对象的形式安全传递信息的方法.可以使用HMAC算法或者是RSA的公钥密钥进行签名 简单来说:就是通过一定规 ...
- SpringBoot自定义全局异常返回页面
返回自定义异常界面,需要引入thymeleaf依赖(非必须,如果是简单的html界面则不用) <dependency> <groupId>org.springframework ...
- 解决方案 | Claunch 如何更新配置文件
1.问题 比如我的电脑上有Claunch 3.26版本(绿色版本),但是更新的时候如何保证我的新版本的图标.链接也更新是个问题. 官网说得比较模糊: 2.解决方法 打开复制data数据覆盖到新版本同样 ...
- 3.5 Y84-64的流水线实现
我们终于准备好要开始本章的主要任务--设计一个流水线化的Y86-64处理器.首先,对顺序的SEQ处理器做一点小的改动,将PC的计算挪到取指阶段.然后,在各个阶段之间加上流水线寄存器.到这个时候,我们的 ...
- PHP 程序员为什么依然是外包公司的香饽饽?
大家好,我是码农先森. PHP 唯一的爽点就是开发起来「哇真快」这刚好和外包公司的需求相契合,在 Web 领域的芒荒年代 PHP 以王者姿态傲视群雄.如果 PHP 敢说第二,就没有哪门子语言敢称第一, ...
- 前端说你的API接口太慢了,怎么办?
当有千万条海量数据时,前端调取接口发现接口响应的太慢,前端这时让你优化一下接口,你说有几千万条数据,觉得自己尽力了,前端觉得你好菜,别急,读完这篇文章,让前端喊你一声:大佬,厉害!!! 常用的方法总结 ...
- 贝塔分布 beta分布的累积分布函数(CDF)计算 —— 如何使用二项式分布表示beta分布的概率累积函数
贝塔分布 beta分布的累积分布函数(CDF)的计算公式: 计算beta分布的累积分布函数(CDF)是需要计算积分的,但是最近发现另一种计算方法,即,使用二项式分布计算beta分布的概率累积函数. b ...