部署环境
条件有限只有一台虚拟机
192.168.1.155
CPU:4
内存: 16G
Gitlab安装部署
1. 安装依赖
# 关闭防火墙
systemctl stop firewalld
sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
2. 配置镜像
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
3. 开始安装
sudo EXTERNAL_URL="http://192.168.1.155" yum install -y gitlab-jh
gitlab常用命令
命令 | 释义 |
---|---|
gitlab-ctl start | 启动所有gitlab组件 |
gitlab-ctl stop | 停止所有gitlab组件 |
gitlab-ctl restart | 重启所有gitlab组件 |
gitlab-ctl status | 查看服务状态 |
4. 配置gitlab
首次登陆需要在/etc/gitlab/initial_root_password路径下查看密码, 账号为root(密码24小时内有效), 需先修改密码
gitlab-ctl start
cat /etc/gitlab/initial_root_password
此配置密码为FwTMkKgn
5. 配置gitlab
5.1 这里配置gitlab为中文, 记得刷新页面
6. 创建群组(我这里使用的创建群组的方式去上传代码, 直接创建项目也是是可以的)
这里是我创建好的群组
6.1 点开群组可以看到里面是空的
6.2 这个时候我们可以使用IDEA来创建一个spring boot项目用来测试, 如果已经有代码可以直接提交直接忽略过就行
- 首先安装Java程序并配置环境变量, 这个是下载包, 我这里下载的是jdk-11.0.19_windows-x64_bin.exe, 下载后双击安装, 注意安装目录, 具体windows安装java环境可以网上搜索查一下, 打开CMD输入java -version可以正常显示版本。
https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html
6.3 打开IDEA部署一个创建一个spring boot项目用来测试- 新建一个项目, 因为我的jenkins环境使用的11版本, 所以我在项目内也使用的11版本对应, 点击下一步
- 注意选择版本, 我这里选择的是web --> spring web 点击创建
- 编写简单spring boot项目用来提交代码测试
- 新建一个项目, 因为我的jenkins环境使用的11版本, 所以我在项目内也使用的11版本对应, 点击下一步
package com.example.springhelloworld.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class helloController {
@RequestMapping(value = "", method = RequestMethod.GET)
public String say() {
return "Hello Spring Boot";
}
}
-
打开项目所在目录
-
打开安装目录后安装小乌龟套件
https://blog.csdn.net/u012841414/article/details/123393104?spm=1001.2014.3001.5506 -
打开你的项目目录后先克隆gitlab仓库至本地,
6.3.6.1 右键–>tortogit–>git在这里创建版本库 # 此时文件夹内会多一个.git文件夹
6.3.6.2 右键–>tortogit–>提交(合并代码)–>选择完毕点击提交
6.3.6.3 右键–>tortogit–>推送–>管理–>添加/保存–>确定–>目标–>远端–>origin(刚才保存的名字)–>点击确定 #此时就可以正常把代码推进指定的群组仓库内
http://192.168.1.155/spring-boot/SpringHelloWorld.git # 此ip是我下图填写的地址,192为ip, spring-boot为gitlab群组名, SpringHelloWorld.git为项目名字
-
此时查看gitlab仓库已经有了刚刚提交的代码
安装Jenkins
- 加载存储库并安装运行jenkins
- jenkins必要插件Publish Over SSH(远程执行代码), blue ocean(pipeline流水线视图), Build Authorization Token Root(自动构建插件,否则会提示权限不足)
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum install -y fontconfig java-11-openjdk
yum install jenkins
# 因为同事都在一个服务器上面部署需要更改端口号, 防止与gitlab冲突
vim /etc/sysconfig/jenkins # 修改JENKINS_PORT="8183"
vim /usr/lib/systemd/system/jenkins.service # Environment="JENKINS_PORT=8183"
systemctl start jenkins
ststenctk enable jenkins
sudo systemctl start jenkins
新创建jenkins账号密码: root/admin
遇见问题排查
1. 检查用户登录是否为root
2. 检查端口是否冲突
3. 检查java配置路径是否正确
参考: https://zhuanlan.zhihu.com/p/609882788
- 安装git
yum install git
-
安装插件, jenkins初始化操作忽略, 有兴趣的可以去网上查一下, 这里直接讲操作步骤
系统管理 --> 插件管理 --> installed plugins --> maven
选择完毕点击安装, 等待安装完成
-
新建任务选择maven方式
-
jenkins任务配置
5.1 配置maven版本
系统管理–>全局管理工具–>maven3.6.1–> 保存
5.2 git配置Repository URL 与上面上传git地址路径一致, 添加凭证并选择Credentials
5.3 配置build pom路径因为在SpringHelloWorld项目下, pom地址也在此路径下所以路径如图, 根据自己实际路径进行配置
5.4 port steps是构建完成后执行的命令, 这里我是通过构建日志查到jar包存放位置, 保存并点击立即构建
5.5 查看构建结果
通过下图和输出日志可以看到已经构建成功了
5.6 再进入服务器并验证是否成功运行
并在服务器上面安装java-11-openjdk-devel包, 用来查看java运行状态
yum install -y java-11-openjdk-devel.x86_64
jps
此时可以看到构建的包已经正在运行
通过日志查看服务状态
此时可以访问页面, 这里看到已经正常运行, 指定的端口为8081