全网最详细的本地搭建GitLab代码仓库教学-LMLPHP

大体的步骤

  1. 本地安装VMware虚拟机。然后再虚拟机上安装CentOs7镜像系统。
  2. 在Linux中安装GitLab-Ce。
  3. 在Linux中安装GitLab-Runner
  4. 在自己搭建的GitLab上面创建一个项目,然后拉取到本地然后提交之后实现自动化部署。

步骤一

这一步骤我在之前我的安装Redis文章中有讲解如何安装Linux系统,这边就不多介绍了。不会的小伙伴可以自己去翻看一下我之前的文章。
全网最详细的本地搭建GitLab代码仓库教学-LMLPHP

步骤二、安装GitLab-Ce

1.相关环境、依赖安装 这里的依赖的话可以自己去执行一下,要是你之前有安装过安装也是不会出现什么问题的
yum -y install policycoreutils openssh-server openssh-clients postfix
yum install  policycoreutils-python
systemctl enable sshd && sudo systemctl start sshd
systemctl enable postfix && systemctl start postfix
 
2.关闭防火墙或者防火墙增加白名单
systemctl stop firewalld.service
这个命令是centos系统中永久禁用防火墙的命名
sudo systemctl disable firewalld

3.下载软件 这边这个版本的话使用的是这个,配合centos7刚刚好。
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm/download.rpm
 
4.开始安装
yum install -y gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
 
5.修改默认端口 
cd /etc/gitlab
vi gitlab.rb
 
6.在文件中修改 external_url和nginx['listen_port']的key对应的内容 这边修改成自己的Linux虚拟机ip就可以,为了能直接就是使用虚拟机访问网络,也可直接将Linux网络设置成桥接模式,你要NAT了,两者的区别我在之前的文章有说过。
(https://blog.csdn.net/weixin_50503886/article/details/133625160?spm=1001.2014.3001.5501)

external_url 'http://192.168.28.64.81'
nginx['listen_port'] = 81
 
6.重启 之后稍等片刻就可以访问了
gitlab-ctl reconfigure
gitlab-ctl restart
 
7.页面输入即可访问,能访问,表示gitlab-ce安装成功了
http://192.168.28.64:81

全网最详细的本地搭建GitLab代码仓库教学-LMLPHP
安装好之后需要赶紧登录上去使用root 密码在

这个文件中赶紧去找到一个password中的密码然后修改一下,因为这个会有24小时就会过期所以需要修改一下。
全网最详细的本地搭建GitLab代码仓库教学-LMLPHP

步骤三、安装GitLab-Runner

下面给大家写一下安装的命令

下载安装包 这里的两个命令直接安装就可以
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

安装
sudo yum install gitlab-ci-multi-runner

注册一下

安装完成之后有一个很重要的步骤就是需要将你上述安装的两者绑定一下所以需要你注册一下。
运行一下这个命令

gitlab-runner register

全网最详细的本地搭建GitLab代码仓库教学-LMLPHP

然后出现的地方给大家一个输入示例

[root@localhost bin]# gitlab-runner register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.28.64:81/
 
Please enter the gitlab-ci token for this runner:
这里是密钥
 
Please enter the gitlab-ci description for this runner:
[localhost.localdomain]:  这里随便写记住就行
 
Please enter the gitlab-ci tags for this runner (comma separated):
这里随便写记住就行

Please enter the executor: ssh, virtualbox, parallels, shell, docker-ssh, docker+machine, docker-ssh+machine, kubernetes, custom, docker:
docker
 
Please enter the default Docker image (e.g. ruby:2.6):
maven:3.3.9-jdk-8
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

安装之后需要安装一下docker

参考链接:https://zhuanlan.zhihu.com/p/54147784 ; https://blog.csdn.net/yucaifu1989/article/details/116718328

#!/bin/bash
# 移除掉旧的版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
 
# 删除所有旧的数据
sudo rm -rf /var/lib/docker
 
#  安装依赖包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
 
# 添加源,使用了阿里云镜像
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
# 配置缓存
sudo yum makecache fast
 
# 安装最新稳定版本的docker
sudo yum install -y docker-ce
 
# 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
 
# 启动docker引擎并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker
 
# 配置当前用户对docker的执行权限
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker

操作完成这些之后需要在操作一个地方,把这个勾上
全网最详细的本地搭建GitLab代码仓库教学-LMLPHP

安装之后需要安装一下maven

下载地址:http://maven.apache.org/download.cgi

tar -zxvf apache-maven-3.3.9-bin.tar.gz
 
重命名:
mv apache-maven-3.3.9 maven-3.3.9

配置环境变量

vi /etc/profile
 
添加以下内容:
export MAVEN_HOME=/usr/local/maven-3.3.9
export PATH=$MAVEN_HOME/bin:$PATH
保存退出
 
source /etc/profile
mvn -v

安装之后需要安装一下jdk8

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

tar -zxvf jdk-8u161-linux-x64.tar.gz
重命名:
mv jdk1.8.0_161 java1.8

配置环境变量

vi /etc/profile
 
添加以下内容:
export JAVA_HOME=/usr/local/java1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存退出
 
source /etc/profile
java -version

创建springboot项目

需要在你创建的项目中添加一下密码。
全网最详细的本地搭建GitLab代码仓库教学-LMLPHP
全网最详细的本地搭建GitLab代码仓库教学-LMLPHP
服务器上创建一个文件夹存放文件地址:

mkdir gitlab-project-test

项目下创建文件 .gitlab-ci.yml 下面是内容

# 定义一些变量, 下面各阶段会使用
variables:
  server_ip: 192.168.28.64
  jar_name: demo-0.0.1-SNAPSHOT.jar
  java_path: /usr/local/java1.8/bin
  upload_path: /usr/local/gitlab-project
# 定义执行的各个阶段及顺序
stages:
  - build
  - upload
  - deploy
# 使用 maven 镜像打包项目
maven-build:
  stage: build
  image: maven:3.3.9-jdk-8
  script:
    - mvn package -B -Dmaven.test.skip=true
  cache:
    key: m2-repo
    paths:
#      - .m2/repository
      - E:\apache-maven-3.6.0\repository
  artifacts:
    paths:
      - target/$jar_name
# 上传生成的 jar 包到你的应用服务器,这里使用 ictu/sshpass 这个镜像,是为了使用 sshpass 命令
upload-jar:
  stage: upload
  image: ictu/sshpass
  script:
    - ls -l target/
    - sshpass -p $ssh_password scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no target/$jar_name root@$server_ip:$upload_path/$jar_name
# 启动 SpringBoot jar包
deploy-test:
  stage: deploy
  image: ictu/sshpass
  script:
    - sshpass -p $ssh_password ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@$server_ip "nohup $java_path/java -jar $upload_path/$jar_name >/dev/null 2>&1 &"

写在最后

最后就是大功告成了,当然本次也遇到一个问题就是创建项目的时候本地依赖获取不到,下期解决之后给大家写文章。欢迎大家自己动手操作遇到问题的时候评论留言,或者加我微信问我也行,要是大家觉得文章有用不妨推荐一下或者收藏点赞一下,谢谢大家👍。

10-09 15:52