Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
实际操作
准备linux初始环境
关闭防火墙
systemctl stop firewalld
开机自己关闭
systemctl disable firewalld
设置安全配置 为关闭
vim /etc/sysconfig/selinux
重启虚拟机
reboot
查看安全策略是否关闭
getenforce
安装gitlab依赖软件
yum install curl policycoreutils openssh-server openssh-clients postfix
下载gitlab 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
yum -y install gitlab-ce
需要等一段时间
手动配置ssl证书
mkdir -p /etc/gitlab/ssl
openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
cd /etc/gitlab/ssl
openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
进如ssl安装向导
cn
bj
bj
空格
空格
gitlab.example.com
447728
空格
安装完成,创建好了ssl密钥和证书
在ssl目录下ll
可以看到ssl密钥和证书
利用ssl密钥和证书创建签署证书
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"
利用openssl签署pem 证书
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
更改ssl下的所有证书权限
chmod 600 *
配置证书到gitlab配置文件中
vim /etc/gitlab/gitlab.rb
搜寻并更改注释并为true
更改对应的路径
gitlab-ctl reconfigure 初始化gitlab相关服务配置
找到gitlab下的ningx反向代理工具
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
搜索 /server_name 并添加
rewrite ^(.*)$ https://$host$1 permanent;
gitlab-ctl restart 重启gitlab使服务生效
windows本机host
10.110.16.20 gitlab.example.com #这里对应的是虚拟的ip
更改管理员密码 密码需要8位
管理员登录 账号:root 密码:447728wang
创建新项目
建好第一个gitlab项目
复制 地址
克隆到本地
git config --global --list 查看当前用户(global)配置
git config --system --list 查看系统config
禁用ssl认证
git config --global http.sslVerify false
下载项目到本地
或
git -c http.sslVerify=false clone https://gitlab.example.com/root/test-scond.git
认证失败
解决方案:
git config --system --unset credential.helper
之后再进行git操作时,弹出用户名密码窗口,输入即可
本地修改项目上传,需要设置
git config --global user.name "litifeng"
git config --global user.email ""
git -c http.sslVerify=false push origin master
上传成功
gitlab应用
点击实例查看实例使用信息
cpu个数/内存使用情况/硬盘使用情况
日志
application.log存放的是gitlab的相关操作
production.log记录访问记录
健康状况
创建权限管理系统
创建项目成员
创建
成功
创建管理员
同上
绑定项目
进入项目
创建开发者
添加
同样,配置项目领导权限
给账号重新设置密码
修改完 进行相关职员的代码拉取
删除之前拉取的代码
创建新分支,并同步到远程仓库
登录dev(相对应的开发者)账号,创建合并申请,
提交给lead之后,到lead账号里,合并
完全卸载删除gitlab
1、停止gitlab
gitlab-ctl stop
2、卸载gitlab(注意这里写的是gitlab-ce)
rpm -e gitlab-ce
3、查看gitlab进程
ps aux | grep gitlab
4、杀掉第一个进程(就是带有好多.............的进程)
kill -9 18777
杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程
5、删除所有包含gitlab文件
find / -name gitlab | xargs rm -rf