搭建私有gitlab仓库
本来不打算在公司搭建这个,我之前一直使用的是码云企业版。公司最近要搞私有云。所以有些东西都需要自己去弄。这里记录下自己搭建gitlab的步骤和流程。1.搭建之间需要安装环境,我的机器比较干净好多都需要装安装gitlab依赖环境, 如果提示没有权限的 可以使用 sudo ,或者直接切换到 root目录下:su 切换sudo yum -y install policycoreutils openssh
·
本来不打算在公司搭建这个,我之前一直使用的是码云企业版。公司最近要搞私有云。所以有些东西都需要自己去弄。这里记录下自己搭建gitlab的步骤和流程。
1.搭建之间需要安装环境,我的机器比较干净好多都需要装
安装gitlab依赖环境, 如果提示没有权限的 可以使用 sudo ,或者直接切换到 root目录下:su 切换
sudo yum -y install policycoreutils openssh-server openssh-clients postfix
2. 我这边添加了一个邮件服务功能 所以需要开启这个东东
systemctl enable postfix && systemctl start postfix --如果不需要可以开启
3.下载gitlab安装包,并进行安装
centos7 系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
我直接使用wget 命令,如果提示weget不存在什么的额,需要 执行:sudo yum install wget
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
进行rpm安装
rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
4.修改gitlab配置文件中的访问地址信息:
vim /etc/gitlab/gitlab.rb
修改: external_url 地址为 自己的ip和端口号,修改完成后保存退出!
5.重置gitlab配置,并且重启gitlab
## 重置配置
gitlab-ctl reconfigure
## 重启服务
gitlab-ctl restart
6.访问gitlab页面,我这变是用ip:port方式的。所以需要开放端口号 (也可以使用域名代替)
### 我这边使用的9999 端口 进行开放
firewall-cmd --zone=public --add-port=9999/tcp --permanent
#### 配置立即生效
firewall-cmd --reload
7. 登录 ,第一次登录有的说是不要密码,我自己试的是不行,所以需要修改 管理账号的面
具体步骤:
修改超级管理员 root 的密码:
1. 进入到gitlib bin 目录下:
[root@yulang yulang]# cd /opt/gitlab/bin/
2. 执行初始化密码命令:
[root@yulang bin]# sudo gitlab-rails console production
3、查找 第一个用户
irb(main):001:0> u=User.where(id:1).first ## 执行完后 会看到你的root管理员账号的信息
4. 修改密码:
irb(main):002:0> u.password='12345678'
=> "12345678"
5.确认修改密码:
irb(main):003:0> u.password_confirmation='12345678'
=> "12345678"
6.保存修改:
irb(main):004:0> u.save!
=> true
7.退出操作:
irb(main):005:0> exit
在此 使用 root/12345678 账号进行登录 即可。记录每天的点点滴滴。
设置gitlab的邮件功能:
需要 在 vim /etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com" ## 此处要改成你的smtp地址
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "yulang1992514@163.com" ## 此处要改成你的邮箱
gitlab_rails['smtp_password'] = "##############" ## 此处要改成你的邮箱密码
gitlab_rails['smtp_domain'] = "163.com" ## smtp地址域名
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'yulang1992514@163.com' ## 发件邮箱
添加完后 从新加载配置
gitlab-ctl reconfigure
如果出现这种错误 可以先忽略 直接执行下一步操作:官方有类似错误的方案(https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/966)
[root@yulang bin]# vim /etc/gitlab/gitlab.rb
[root@yulang bin]# gitlab-ctl reconfigure
Starting Chef Client, version 12.4.1
resolving cookbooks for run list: ["gitlab"]
Synchronizing Cookbooks:
- package
- runit
- gitlab
Compiling Cookbooks...
Recipe: gitlab::default
* directory[/etc/gitlab] action create (up to date)
================================================================================
Recipe Compile Error in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb
================================================================================
NoMethodError
-------------
undefined method `[]=' for nil:NilClass
Cookbook Trace:
---------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:35:in `from_file'
Relevant File Content:
----------------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:
28: group "root"
29: mode "0775"
30: action :nothing
31: end.run_action(:create)
32:
33: Gitlab[:node] = node
34: if File.exists?("/etc/gitlab/gitlab.rb")
35>> Gitlab.from_file("/etc/gitlab/gitlab.rb")
36: end
37: node.consume_attributes(Gitlab.generate_config(node['fqdn']))
38:
39: if File.exists?("/var/opt/gitlab/bootstrapped")
40: node.set['gitlab']['bootstrap']['enable'] = false
41: end
42:
43: directory "/var/opt/gitlab" do
44: owner "root"
Running handlers:
[2021-04-16T22:13:26+08:00] ERROR: Running exception handlers
Running handlers complete
[2021-04-16T22:13:26+08:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 16.151877663 seconds
[2021-04-16T22:13:26+08:00] FATAL: Stacktrace dumped to /opt/gitlab/embedded/cookbooks/cache/chef-stacktrace.out
[2021-04-16T22:13:26+08:00] ERROR: undefined method `[]=' for nil:NilClass
[2021-04-16T22:13:28+08:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
[root@yulang bin]# gitlab-ctl restart
## 重启服务
gitlab-ctl restart
# 进入 gitlab-rails console 控制台f发送测试邮件:
gitlab-rails console
Notify.test_email('******.com', 'test', 'yulang hello!').deliver
更多推荐
已为社区贡献1条内容
所有评论(0)