公司搭了个gitlab,好奇心作祟,本地搭个玩玩
创建虚机机centos7
-
gitlab需在linux中使用,使用虚拟机创建centos7。
-
win10 有默认的虚拟机Hyper-V,若习惯使用VMware Workstation Pro,需先在 电脑->属性->控制面板主页->程序->启用或关闭windows功能中关闭
-
对于未安装VMware Workstation Pro的同学,此处提供一下VMware Workstation 15的破解码
CG392-4PX5J-H816Z-HYZNG-PQRG2
,当然网上搜一下亦有很多 -
centos7的安装教程百度一下即可,如VMware安装Centos7超详细过程(图文),此处不再赘述
-
图形和命令的切换
在图形界面时 ->进入命令模式
1.按ctrl+alt+f3(任何时候都可以不仅限以下画面)
2.在终端输入init 3
在命令行模式时 ->进入图形模式
1.按ctrl+alt+f1
2.登录用户后输入init 5
- 但需注意的是,安装时注意内存选择2G或以上,或者装后再改亦可。因为gitlab建议安装的系统为2G或以上
安装宝塔
-
宝塔官网写得挺详细的,宝塔linux命令
-
注意:
bt default
查看宝塔账号密码,ip addr
查看虚拟机系统的ip,无意外的话,宝塔地址为http://虚拟机系统ip:8888
搭建gitlab
- 在宝塔面板,软件管理中选择安装gitlab和webhook
- 在webhook,点击添加,编写脚本。
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
#git项目路径
gitPath="/你的路径/$1"
#git 网址
gitHttp="https://gitee.com/你的地址/$1.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
sudo git clone $gitHttp gittemp
sudo mv gittemp/.git .
sudo rm -rf gittemp
fi
echo "拉取最新的项目文件"
#sudo git reset --hard origin/master
sudo git pull
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "新建项目目录"
mkdir $gitPath
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
sudo git clone $gitHttp gittemp
sudo mv gittemp/.git .
sudo rm -rf gittemp
fi
echo "拉取最新的项目文件"
#sudo git reset --hard origin/master
sudo git pull
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
fi
-
可以在宝塔中直接使用git 命令测试git是否能正常使用,如使用
git clone
进行测试,是否能正常拉取项目。如没有sudo权限可将脚本中sudo去掉。 -
添加成功后,查看密钥,复制密钥。
-
打开
http://虚拟机系统ip:8099
,即可打开你所搭建的gitlab。或者在gitlab插件中可查看相应的端口。注意,此处的访问地址不作准,直接访问该地址将无法访问到你搭建的gitlab,以你使用ip addr
查看到的ip为准。
-
打开gitlab,注册账号,创建项目。点击设置->web钩子,将在webhook密钥中看到的链接填入。私密授权码可以不必填写。点击测试进行测试。
-
返回宝塔,软件管理,查看webhook对应的钩子的日志。或到对应的文件夹是否有拉取到相应的项目。
-
如使用ssh拉取则需填写公钥。gitlab处可查看相应的公钥。或直接使用git命令进行新建。