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

735761545@qq.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 "litifeng@example.com"

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