Gitlab企业版证书生成
发布时间:2021-05-28 20:00:56阅读:(696)
一、安装ruby环境以及gem包管理工具
- 我的电脑是mac,所以无需安装
- 安装ruby包依赖gitlab、gitlab-license、openssl
sudo gem install gitlab
sudo gem install gitlab-license
sudo gem install openssl
二、编写创建license的rube脚本,并生成license文件
文件内容如下:
createlicense.rb
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) }
# 使用私钥初始化License
private_key = OpenSSL::PKey::RSA.new File.read("license_key")
Gitlab::License.encryption_key = private_key
# 生成license实例
license = Gitlab::License.new
# 补充license的一些信息
license.licensee = {
"Name" => "tester",
"Company" => "Google Inc",
"Email" => "test@163.com"
}
license.starts_at = Date.new(2021, 1, 1) # license 开始生效时间
license.expires_at = Date.new(2030, 12, 13) # license 到期时间
license.notify_admins_at = Date.new(2030, 11, 30) # license 管理员过期提醒时间
license.notify_users_at = Date.new(2030, 11, 30) # license 普通用户过期提醒时间
license.block_changes_at = Date.new(2031, 1, 31)
license.restrictions = {
active_user_count: 10000, # license 授权人数
plan: "ultimate" # 版本,可选为:starter、premium、ultimate
}
puts "License:"
puts license
# 导出license
data = license.export
puts "Exported license:"
puts data
# 将license保存到文件
File.open("GitLabBV.gitlab-license", "w") { |f| f.write(data) }
执行以上脚本,会生成三个文件
ruby createlicense.rb # 执行脚本
....
ls -l # 查看目录
GitLabBV.gitlab-license
createlicense.rb
license_key
license_key.pub
三、替换公钥及激活license
- 将license_key.pub公钥内容替换到gitlab的/opt/gitlab/embedded/service/gitleb-rails/.license_encryption_key.pub中,然后重启gitlab,gitlab-ctl restart.
- 重启完成后,将GitLabBV.gitlab-license文件导入gitlab激活页面即可完成激活
注意:重新生成license后,需要重新替换公钥
文章版权及转载声明:
文章转载或复制请以超链接形式并注明出处陌上小筑
上一篇:G1GC调优时遇到的坑
下一篇:无
发表评论