GitLab EE 企业版破解

news2024/11/15 18:45:40

在当今数字化时代,软件开发与团队协作已经成为现代企业不可或缺的一部分。而在这个过程中,版本控制、协作和持续集成等工具的运用变得至关重要。GitLab作为一个领先的、完整的DevOps平台,为团队提供了一个集成的解决方案,使得软件开发和交付变得更加高效、可靠。本文将介绍如何通过安装Docker和GitLab EE来搭建一个功能完善的代码托管平台,然后通过Ruby 获得企业授权License。

Ruby生成的 GitLabBV.gitlab-license license_key.pub 文件可以直接使用本站所提供的,可以直接省略掉通过Ruby创建证书License的步骤,直接替换即可,下载地址请到我的博客
直达地址:https://www.itwk.cc/post/1144.html

安装 Docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum -y install docker-ce
systemctl enable --now docker

配置 Docker 镜像加速

{  
  "registry-mirrors": ["https://vwlrpbcp.mirror.aliyuncs.com"]  
} 

安装 GitLab EE

docker run -itd  \
 -p 80:80 \
 -p 443:443 \
 -p 2222:22 \
 -v /data/gitlab/log:/var/log/gitlab \
 -v /data/gitlab/opt:/var/opt/gitlab \
 -v /data/gitlab/etc:/etc/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab \
 gitlab/gitlab-ee

确认 GitLab EE 已经正常运行

docker ps -a

在这里插入图片描述

运行 Ruby

docker run -it --rm ruby /bin/bash

安装许可证工具

在这里插入图片描述

创建license.rb文件

cat >license.rb<<'EOF'
    require "openssl"
    require "gitlab/license"
    key_pair = OpenSSL::PKey::RSA.generate(2048)
    File.open("license_key", "w") { |f| f.write(key_pair.to_pem) }
    public_key = key_pair.public_key
    File.open("license_key.pub", "w") { |f| f.write(public_key.to_pem) }
    private_key = OpenSSL::PKey::RSA.new File.read("license_key")
    Gitlab::License.encryption_key = private_key
    license = Gitlab::License.new
    license.licensee = {
    "Name" => "gitlab",
    "Company" => "gitlab",
    "Email" => "admin@gitlab.com",
    }
    license.starts_at = Date.new(2024, 1, 1)
    license.expires_at = Date.new(2099, 1, 1)
    license.notify_admins_at = Date.new(2049, 12, 1)
    license.notify_users_at = Date.new(2049, 12, 1)
    license.block_changes_at = Date.new(2050, 1, 1)
    license.restrictions = {
    active_user_count: 10000,
    }
    puts "License:"
    puts license
    data = license.export
    puts "Exported license:"
    puts data
    File.open("GitLabBV.gitlab-license", "w") { |f| f.write(data) }
    public_key = OpenSSL::PKey::RSA.new File.read("license_key.pub")
    Gitlab::License.encryption_key = public_key
    data = File.read("GitLabBV.gitlab-license")
    $license = Gitlab::License.import(data)
    puts "Imported license:"
    puts $license
    unless $license
    raise "The license is invalid."
    end
    if $license.restricted?(:active_user_count)
    active_user_count = 10000
    if active_user_count > $license.restrictions[:active_user_count]
        raise "The active user count exceeds the allowed amount!"
    end
    end
    if $license.notify_admins?
    puts "The license is due to expire on #{$license.expires_at}."
    end
    if $license.notify_users?
    puts "The license is due to expire on #{$license.expires_at}."
    end
    module Gitlab
    class GitAccess
        def check(cmd, changes = nil)
        if $license.block_changes?
            return build_status_object(false, "License expired")
        end
        end
    end
    end
    puts "This instance of GitLab Enterprise Edition is licensed to:"
    $license.licensee.each do |key, value|
    puts "#{key}: #{value}"
    end
    if $license.expired?
    puts "The license expired on #{$license.expires_at}"
    elsif $license.will_expire?
    puts "The license will expire on #{$license.expires_at}"
    else
    puts "The license will never expire."
    end
EOF

生成证书

root@8f56c7c5621c:/# ruby license.rb
License:
#<Gitlab::License:0x00007fad2d4501c8>
Exported license:
eyJkYXRhIjoidnZoUTYwZCtHWFVpWmVTWE5ibytpR2dwV04yUG8vYTlIeXd4
MWJzNUxLZzhiWUs2SjlPcjROWmZ3QXRTXG5mWm1ENHA5NXo1QkJsazZGT2Zq
TTVNWDd1TnVFeHFIWVpVeXRNbkhmQzlZWmdScEJTQU9vK0NJbHdQVXhcbnQ4
cVdmQ3dBbUVDaitYOWFhbHh2bkp6SkNSK0hJTWdIL2N5SDVCbXUvRTVFUUF2
bXVJa3hlNzNlTy9MMVxuYVRNVnFIKzc4WjRidjljWGJrbmt4ZWE5S1Y0amI1
amtrRE9GbDhhZ09aWTNJVXczWXVMeDUyMW9kMS8wXG5xZitqb0w2Z21aQS9P
MnJzNDhvanVYWndVeUF3WWFLU1ZSU2tLK0V1SVZCWGttQStlNzF5YWJBalpS
eDJcbkVSdThyOVZUQUoyMk1uWndpakhIRWFUWENwRUxEbVArZkdzUkJURDcy
MnNkYktYQmRpekt4dncwZmhMd1xuYmtXdHZkQlRpZzVpbVRjT2hLR2VkOWtM
SmtzNFZJZ3N3NjNzdFhIK1N1Z0EyVEhFOG1EU0RlK3VBa3ZRXG5BTEVlRHFD
Z3hlbUdhNHRHY2ZEVlNqR0VjQWx1V01KTDYyelh6RWtHbDM1T0gweWpTWkp2
cEFoY2RIdlJcbndsdFpTVURpWVZqM0lWdHNLODA5dS9uVTkxcEJDbFdQdmlE
WEhhVkZraEQ4NU1zWlZsc1Vycld3NUthNlxuTXZ0L1BmUzNmbmxZWkVnbzh1
TTRHS05rdGxLSkRQV0xtU254MW5zSDJueTVNUWZZQmQzdXZHZW52dUc3XG5L
SlJkSDREeGVhK1k3a2Z3dlA0NVhSRTB6NC85dkRWVFBBOGFnSCtYVGxkWm9a
dWNMNU1yeDR0anQ0ZHJcbm5lSFpEU2RDQVRUQUp6NUw4NC9UbVl0TG1rSjNF
VDlVd1R5ODB1OWM0OU1sXG4iLCJrZXkiOiJWeWNoWUR3YUo5WjhxWWtEbitJ
akJaV2ZKbTlpdGZ0aUE2R1B4a3p1WG95Q2F3c3F4K0NCSVI5VHhRb21cbk8y
czQrN3R1K05JcGkvbEVub3JXSHVQaXh5Z0tJNFdkSTdwbGV0U21KZnFpbVJ5
QXYxcVBqUDZBcjVuZ1xuNEtvTG1OdDlsUU1SVjN0d3BFd3lXeHlkQlUwRVB1
MVAyZTQxcGZlRGZBbTNtc0dDQjRXTXZIcFZwTUdtXG5BREVHWEZkK0R4Ni9x
NzY3TXlqY1NFRkd3R1Z6UkxrSjlMb0JUSFZjcFdGaE9vb3VrSElPSHYvaDd5
cjlcbmovRUl6WVdOY3AzSWgzU3RXT253VTR5MUdxZlVyOVRSS2hFYjBseGp4
azR5VHNpZTNPWGl3a2JwcStZN1xuTnU2YkZsZWJua1htYUNFc0VuZ0Q4S3c4
dkdhcHFzTjZYNmZ0S2dCa0FnPT1cbiIsIml2IjoiYUxiazVWa21tRjFad0J1
eWd6eEQwQT09XG4ifQ==
Imported license:
#<Gitlab::License:0x00007fad2d3dd6f0>
This instance of GitLab Enterprise Edition is licensed to:
Name: gitlab
Company: gitlab
Email: admin@gitlab.com
The license will expire on 2099-01-01

在这里插入图片描述
然后会在当前目录下生成 GitLabBV.gitlab-license license_key license_key.pub三个文件。

在这里插入图片描述
将生成的 license_key.pub 文件复制到到 gitlab 容器中的/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub

 docker ps -a
CONTAINER ID   IMAGE              COMMAND             CREATED          STATUS                    PORTS                                                                                                             NAMES
8f56c7c5621c   ruby               "/bin/bash"         10 minutes ago   Up 10 minutes                                                                                                                               busy_bell
2042068f1d19   gitlab/gitlab-ee   "/assets/wrapper"   11 minutes ago   Up 11 minutes (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp   gitlab
[root@gitlab ~]#
[root@gitlab ~]# docker cp 8f56c7c5621c:/license_key.pub .
Successfully copied 2.05kB to /root/.
[root@gitlab ~]# ll
total 8
-rw-------. 1 root root 1218 Feb 28 17:32 anaconda-ks.cfg
-rw-r--r--  1 root root  451 Mar  4 00:14 license_key.pub
[root@gitlab ~]#
[root@gitlab ~]# docker cp license_key.pub 2042068f1d19:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub
Successfully copied 2.05kB to 2042068f1d19:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub

在这里插入图片描述

获取 GitLab 初始密码并订阅许可证

默认用户名 为 root

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
Password: M4PTVPTAGib9V2e3W/7HZXN/m7ia6T1M1Mfbh8DOp7s=

然后打开打开http://gitlab/admin/application_settings/general

在这里插入图片描述
在这里插入图片描述
如果上传 license 时提示该 license 不可用,可以重启一遍 gitlab 容器,或者替换完成license_encryption_key.pub 先重启 gitlab 容器再去 web 添加 license 也可以。

在这里插入图片描述

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

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

相关文章

MySQL8.0性能优化实战培训课-高阶数据库实战课程来袭!!

课程介绍 众多已经学习过MySQL 8.0 OCP认证专家的课程的同学们对 MySQL 8.0 的安装部署、体系结构、配置监控、用户管理、主从复制、系统运维、MGR等基础操作和动手实验有了一定的学习基础.很多学员反馈希望更进一步提升技术能力、解决工作中碰到的性能问题。 针对MySQL8.0的数…

运维随录实战(4)

添加账号并为账号赋予root权限 1,使用root账号添加一个普通账号 adduser test passwd test # 赋予密码 2,赋予root权限 修改/etc/sudoers文件,如果使用vi 命令打开提示仅只读,则使用 visudo命令打开 在root下面添加一行“test ALL=(ALL) ALL”,如下所示 3,将test账…

电脑不小心格式化了,怎么恢复?

在这个数字化时代&#xff0c;电脑已经成为我们日常生活和工作中不可或缺的工具。然而&#xff0c;有时我们可能会不小心格式化电脑硬盘&#xff0c;导致重要数据的丢失。那么&#xff0c;电脑不小心格式化了&#xff0c;怎么恢复&#xff1f; 别着急&#xff0c;在本篇攻略中&…

这里推荐一款unity3d人物动物控制器详细的等学会再写文章

unity3d Animal Controller 1.4.0a 动物NPC行为控制器 动物控制器&#xff08;AC&#xff09;是一个基于脚本架构的动画框架控制器。它适用于任何动物或人形角色的根运动或原地动画。 人和动物的各种动作都有; 小白必选、 我只是运行乐demo就感觉牛 demo路径&#xff1a;Asset…

Python实现ADTM工具判断信号:股票技术分析的工具系列(6)

Python实现ADTM工具判断信号&#xff1a;股票技术分析的工具系列&#xff08;6&#xff09; 介绍算法解释 代码rolling函数介绍完整代码data代码ADTM.py 介绍 ADTM&#xff08;动态买卖气指标&#xff09;是一种用于衡量市场买卖力量对比的指标。它通过计算动态买盘指标&#…

IDEA2023.2版本引用提示no usages的关闭和打开

相信很多下载使用高版本的IDEA的小伙伴们都会发现自己的代码主页会出现一个no usages的提示,如下图所示,其实这是IDEA所做出的来的一个辅助功能,目的是为了让使用者可以清楚的知道你在哪里被使用了;如图: 对于一些经常使用低版本的IDEA编程的小伙伴来说,这个功能的突然出…

S3---FPGA-A7板级电源硬件实战

视频链接 FPGA-A7板级电源硬件实战01_哔哩哔哩_bilibili FPGA-A7板级电源硬件实战 1、基于A7 板级的系统框图 2、基于A7 板级的电源设计细则 2.1、A7 FPGA功耗评估 Artix-7 FPGA电源有VCCINT, VCCBRAM, VCCAUX, VCCO, VMGTAVCC和VMGTAVTT。 2.1.1、A7 FPGA电源管脚 2.1.2…

GIS之深度学习05:VisualStudio安装教程

在安装CUDA前&#xff0c;建议先安装VisualStudio&#xff0c;以防报错 VisualStudio安装步骤简单&#xff0c;但时间较长。。。。。。 正文开始&#xff1a; VisualStudio官网&#xff1a;Visual Studio: IDE and Code Editor for Software Developers and Teams 点击右上角…

【观点】区块链的未来:分布式商业;企业的未来:分布式商业生态战略

本文内容摘自思二勋所著的《分布式商业生态战略》一书。 近两年&#xff0c;商业经济环境的不确定性越来越明显&#xff0c;市场经济受到疫情、技术、政策等多方因素影响越来越难以预测&#xff0c;黑天鹅事件时有发生。在国内外经济方面&#xff0c;国际的地缘政治对商业经济…

[LeetBook]【学习日记】寻找和为指定数字的连续数字

题目 文件组合 待传输文件被切分成多个部分&#xff0c;按照原排列顺序&#xff0c;每部分文件编号均为一个 正整数&#xff08;至少含有两个文件&#xff09;。传输要求为&#xff1a;连续文件编号总和为接收方指定数字 target 的所有文件。请返回所有符合该要求的文件传输组…

VM新建虚拟机

目录 一、前言二、下载镜像三、新建虚拟机 一、前言 上一篇文章我们介绍了VMware Workstation 15 Pro的安装与破解 &#xff0c;这篇文章我们介绍一下新建虚拟机 二、下载镜像 Linux使用最多的是CentOS和Ubuntu&#xff0c;下面是下载地址 Centos7:https://www.centos.org/…

五、软考-系统架构设计师笔记-信息安全技术基础知识

信息安全技术基础知识 1、信息安全基础知识概述 信息安全的概念 信息安全包括 5 个基本要素&#xff1a; 机密性:确保信息不暴露给未授权的实体或进程。完整性:只有得到允许的人才能修改数据&#xff0c;并且能够判别出数据是否已被篡改。可用性:得到授权的实体在需要时可以…

WPF中如何设置自定义控件(二)

前一篇文章中简要讲解了圆角按钮、圆形按钮的使用,以及在windows.resource和app.resource中设置圆角或圆形按钮的样式。 这篇主要讲解Polygon(多边形)、Ellipse(椭圆)、Path(路径)这三个内容。 Polygon 我们先看一下的源码: namespace System.Windows.Shapes { pu…

第十七天-反爬与反反爬-验证码识别

目录 反爬虫介绍 基于身份识别反爬和解决思路 Headers反爬-使用User-agent Headers反爬-使用coookie字段 Headers反爬-使用Referer字段 基于参数反爬 验证码反爬 1.验证码介绍 2.验证码分类&#xff1a; 3.验证码作用 4.处理方案 5.图片识别引擎:ocr 6.使用打码平…

Window系统搭建feishu-chatgpt企业AI机器人并实现无公网ip远程连接

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话&#xff0c;在下面操作步骤中…

ubuntu系统(11):ubuntu20.04命令行安装vscode

目录 1、更新软件包索引&#xff0c;并且安装依赖软件 2、使用 wget 命令插入 Microsoft GPG key 3、启用vscode存储库 4、更新软件包并安装vscode 5、当前目录进入vscode 6、设置样式&#xff0c;添加所需扩展 最近换了个新的服务器&#xff0c;所以要重新配置服务器的…

python网络爬虫教程笔记(1)

系列文章目录 文章目录 系列文章目录前言一、爬虫入门1.爬虫是什么&#xff1f;2.爬虫工作原理3.爬虫基本原理4.工作流程5.HTTP请求6.HTTP响应7.HTTP原理&#xff1a;证书传递、验证和数据加密、解密过程解析8.Urllib.request库的使用9.TCP3次握手&#xff0c;4次挥手过程 总结…

【Linux从青铜到王者】进程信号

——————————————————————————————————————————— 信号入门 在了解信号之前有许多要理解的相关概念 我们可以先通过一个生活例子来初步认识一下信号 1.生活角度的信号 你在网上买了很多件商品&#xff0c;再等待不同商品快递的到来…

微服务架构SpringCloud(2)

热点参数限流 注&#xff1a;热点参数限流默认是对Springmvc资源无效&#xff1b; 隔离和降级 1.开启feign.sentinel.enabletrue 2.FeignClient(fallbackFactory) 3.创建一个类并实现FallbackFactory接口 4.加入依赖 <!--添加Sentienl依赖--><dependency><gro…

深度学习系列61:在CPU上运行大模型

1. 快速版 1.1 llamafile https://github.com/Mozilla-Ocho/llamafile 直接下载就可以用&#xff0c;链接为&#xff1a;https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile?downloadtrue 启动&#xff1a;./llava-v1.5-7b-q4.lla…