服务器备注
10.100.1.30部署Jenkins
10.0.1.106

部署gitlab

1.docker部署gitlab

1)创建持久化目录

mkdir -p /usr/local/gitlab/{config,logs,data}

2)拉取gitlab镜像

docker pull gitlab/gitlab-ce:latest

3)运行GitLab容器
 

docker run -d \
  --name gitlab \
  --restart always \
  -p 8081:80 \
  -p 443:443 \
  -p 2222:22 \
  -v /usr/local/gitlab/config:/etc/gitlab \
  -v /usr/local/gitlab/logs:/var/log/gitlab \
  -v /usr/local/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

4)看运行状态
docker ps -a | grep gitlab

初次启动时间较长   访问地址:http://10.0.1.106:8081(服务器地址)

初始账户root

获取密码👇

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

复制登录即可

2.Docker部署Jenkins

1)创建挂载目录

mkdir -p /usr/local/jenkins/{data,logs}

2)拉取Jenkins镜像

docker pull jenkins/jenkins:lts

3)运行Jenkins容器

docker run -d \
  --name jenkins \
  --restart always \
  -p 8080:8080 \
  -p 50001:50000 \
  -v /usr/local/jenkins/data:/var/jenkins_home \
  -v /usr/local/jenkins/logs:/var/log/jenkins \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

4)配置SSH免密登录(Jenkins到目标服务器)

# 1. 进入Jenkins容器
docker exec -it jenkins bash

# 2. 生成SSH密钥对
ssh-keygen -t rsa -C "jenkins@docker" -f /var/jenkins_home/.ssh/id_rsa -N ""

# 3. 将公钥复制到目标服务器(部署Nginx的服务器)
ssh-copy-id -i /var/jenkins_home/.ssh/id_rsa.pub root@10.0.1.106

# 4. 测试SSH连接
ssh root@10.0.1.106

5)创建凭据信息内容写Jenkins地址及key

下边要写gitlab的用户及密码和ID

安装NodeJS, Publish Over SSH 插件 

配置Publish Over SSH

点击高级----输入目标服务器密码

访问gitlab

 将图上http://4475f8575748/root/test.git在服务器上克隆地址http://10.0.1.106:8080/root/test.git

git clone http://10.100.1.30:8080/root/test.git

6)在Jenkins中创建项目

注指定分支依次类推配置:develop 开发   baseline 测试  master生产  👆

编译代码:

#!/bin/bash
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 1. 修复 node_modules 权限
chmod -R 777 node_modules/

# 3. 构建
npm run build:prod

# 验证构建结果
ls -la 

7)服务器创建目录

mkdir -p /root/nginx

8)用docker部署一个nginx挂载这个目录  构建是会创建dist目录

docker run --name my-nginx -d -p 80:80 -v /root/nginx/dist:/usr/share/nginx/html:ro nginx

将代码上传至服务器解压至/root/nginx目录Jenkins构建会生成dist目录

 8)添加文件到暂存区

git add .

提交更改

git commit -m "测试"

推送代码

git push origin baseline <分支名>测试

访问gitlab查看推送的代码

到Jenkins构建步骤

返回服务器执行重启nginx

docker restart my-nginx

浏览网页部署nginx服务器地址

 

更多推荐