Jenkins + Gitlab 构建并部署java项目

部署环境

条件有限只有一台虚拟机
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为中文, 记得刷新页面
Jenkins + Gitlab 构建并部署java项目_第1张图片

6. 创建群组(我这里使用的创建群组的方式去上传代码, 直接创建项目也是是可以的)

Jenkins + Gitlab 构建并部署java项目_第2张图片
Jenkins + Gitlab 构建并部署java项目_第3张图片
Jenkins + Gitlab 构建并部署java项目_第4张图片
这里是我创建好的群组
Jenkins + Gitlab 构建并部署java项目_第5张图片
6.1 点开群组可以看到里面是空的
Jenkins + Gitlab 构建并部署java项目_第6张图片
6.2 这个时候我们可以使用IDEA来创建一个spring boot项目用来测试, 如果已经有代码可以直接提交直接忽略过就行

  1. 首先安装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
    Jenkins + Gitlab 构建并部署java项目_第7张图片
    6.3 打开IDEA部署一个创建一个spring boot项目用来测试
    1. 新建一个项目, 因为我的jenkins环境使用的11版本, 所以我在项目内也使用的11版本对应, 点击下一步
      Jenkins + Gitlab 构建并部署java项目_第8张图片
    2. 注意选择版本, 我这里选择的是web --> spring web 点击创建Jenkins + Gitlab 构建并部署java项目_第9张图片
    3. 编写简单spring boot项目用来提交代码测试
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";
    }
}

Jenkins + Gitlab 构建并部署java项目_第10张图片

  1. 打开项目所在目录
    Jenkins + Gitlab 构建并部署java项目_第11张图片

  2. 打开安装目录后安装小乌龟套件
    https://blog.csdn.net/u012841414/article/details/123393104?spm=1001.2014.3001.5506

  3. 打开你的项目目录后先克隆gitlab仓库至本地,
    6.3.6.1 右键–>tortogit–>git在这里创建版本库 # 此时文件夹内会多一个.git文件夹
    6.3.6.2 右键–>tortogit–>提交(合并代码)–>选择完毕点击提交
    Jenkins + Gitlab 构建并部署java项目_第12张图片
    6.3.6.3 右键–>tortogit–>推送–>管理–>添加/保存–>确定–>目标–>远端–>origin(刚才保存的名字)–>点击确定 #此时就可以正常把代码推进指定的群组仓库内
    http://192.168.1.155/spring-boot/SpringHelloWorld.git # 此ip是我下图填写的地址,192为ip, spring-boot为gitlab群组名, SpringHelloWorld.git为项目名字
    Jenkins + Gitlab 构建并部署java项目_第13张图片

  4. 此时查看gitlab仓库已经有了刚刚提交的代码
    Jenkins + Gitlab 构建并部署java项目_第14张图片

安装Jenkins

  1. 加载存储库并安装运行jenkins
  2. 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

  1. 安装git
yum install git
  1. 安装插件, jenkins初始化操作忽略, 有兴趣的可以去网上查一下, 这里直接讲操作步骤
    系统管理 --> 插件管理 --> installed plugins --> maven
    选择完毕点击安装, 等待安装完成
    Jenkins + Gitlab 构建并部署java项目_第15张图片

  2. 新建任务选择maven方式
    Jenkins + Gitlab 构建并部署java项目_第16张图片

  3. jenkins任务配置
    5.1 配置maven版本
    系统管理–>全局管理工具–>maven3.6.1–> 保存
    Jenkins + Gitlab 构建并部署java项目_第17张图片

    5.2 git配置Repository URL 与上面上传git地址路径一致, 添加凭证并选择Credentials
    Jenkins + Gitlab 构建并部署java项目_第18张图片
    5.3 配置build pom路径因为在SpringHelloWorld项目下, pom地址也在此路径下所以路径如图, 根据自己实际路径进行配置
    Jenkins + Gitlab 构建并部署java项目_第19张图片
    5.4 port steps是构建完成后执行的命令, 这里我是通过构建日志查到jar包存放位置, 保存并点击立即构建
    Jenkins + Gitlab 构建并部署java项目_第20张图片
    5.5 查看构建结果
    通过下图和输出日志可以看到已经构建成功了

Jenkins + Gitlab 构建并部署java项目_第21张图片

Jenkins + Gitlab 构建并部署java项目_第22张图片
5.6 再进入服务器并验证是否成功运行
并在服务器上面安装java-11-openjdk-devel包, 用来查看java运行状态

yum install -y java-11-openjdk-devel.x86_64
jps

此时可以看到构建的包已经正在运行
在这里插入图片描述
通过日志查看服务状态
在这里插入图片描述
此时可以访问页面, 这里看到已经正常运行, 指定的端口为8081

Jenkins + Gitlab 构建并部署java项目_第23张图片

你可能感兴趣的:(jenkins,gitlab,java)