侧边栏壁纸
博主头像
福福不服博主等级

孩子会穿过大雨,去懂人间的道理。

  • 累计撰写 92 篇文章
  • 累计创建 98 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Jenkins持续集成实现过程(简易版)

Monster
2023-08-01 / 0 评论 / 7 点赞 / 119 阅读 / 6866 字 / 正在检测是否收录...
温馨提示:
请确保在评论和互动中保持礼貌和尊重。避免使用侮辱性、歧视性或攻击性语言。我们鼓励建设性的讨论和意见交流。

Jenkins持续集成实现过程(简易版)

我就用一台服务器模拟,gitlab用公司现成的,jenkins安装发版都是在同一台服务器上

安装Jenkins(Docker)

宿主机上创建数据映射目录

mkdir /data/jenkins

给映射目录权限,不然jenkins用不了

chmod -R 777 /data/jenkins/

启动Jenkins并挂载目录

docker run -d -p 8888:8080 --name=jenkins --restart=always -v /data/jenkins/:/var/jenkins_home jenkins/jenkins:2.401.3-lts

访问Jenkins,ip:映射的端口

复制密码,可以在提示的路径去查找(可以直接在宿主机映射的目录去看),也可以直接查看Jenkins启动日志,我这里直接查看启动日志

docker logs jenkins

将密码填入管理员密码框中,点击继续,选择按推荐的插件安装(都无所谓,进去后在安装也行)

安装完插件后,会让你设置个管理员账户

保存并完成,开始使用Jenkins

设置Maven、JDK添加远程服务器

如果你的在安装插件的时候都成功了没有报错,直接重启一下Jenkins会发现直接汉化了

docker restart jenkins

安装Git Parameter、Publish Over SSH插件

使用wget下载Maven到服务器

wget https://dlcdn.apache.org/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz

下载JDK上传服务器,jdk8需要登录Oracle账号才给下载

https://download.oracle.com/otn/java/jdk/8u381-b09/8c876547113c4e4aab3c868e9e0ec572/jdk-8u381-linux-x64.tar.gz

服务器上解压,务必使用sudo不然会提示权限不足

sudo tar -zxvf apache-maven-3.9.3-bin.tar.gz
sudo tar -zxvf jdk-8u381-linux-x64.tar.gz

将解压后的maven、jdk移动到/var/jenkins_home里面(挂载到宿主机的/data/jenkins目录的,所以直接移动/data/jenkins目录即可)

mv apache-maven-3.9.3 /data/jenkins/
mv jdk1.8.0_381 /data/jenkins/

回到Jenkins设置页面,全局工具配置,设置maven和jdk

别名随意可识别即可,路径得按容器内部的路径来设置

/var/jenkins_home/jdk1.8.0_381
/var/jenkins_home/apache-maven-3.9.3

进到系统配置,添加服务器ssh连接

在最下边添加

安装Gitlab比较吃性能,我这里不安装了直接用公司现成的仓库

新建一个空白项目

为了方便,直接设置公开项目了

在克隆里面将仓库地址拿出来:http://git.hkeasyspeed.com/root/shuai.git

测试项目设置

修改pom.xml文件指定jar包叫shuai

<finalName>shuai</finalName>

项目下新建了个docker目录存放了Dockerfile、docker-compose.yml文件

Dockerfile,自定义构建镜像

FROM daocloud.io/library/java:8u40-jdk
COPY shuai.jar /usr/local/
WORKDIR /usr/local
CMD java -jar shuai.jar

docker-compose.yml,启动和映射

version: "3.1"
services:
  mytest:
    build:
      context: ./
      dockerfile: Dockerfile
    image: shuai:v1.0.0
    container_name: shuai
    ports:
      - 9999:8080

idea提交代码,默认提交为main分支,可以新建分支提交,为了方便(懒)我就直接提交了

就展示一句“我是真滴帅!!!!”

package com.monster.mytest.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    @GetMapping("/test")
    public String test(){
        return "我是真滴帅!!!";
    }
}

推送

Jenkins持续化部署设置

创建项目

构建一个自由风格项目

启用参数构建过程,默认值是master

设置Git,将前面的gitlab地址填进来,分支在jenkins里面默认master分支,我这里只有只有一个main分支修改对应分支。

设置的公开项目,不需要账号密码即可拉取

设置打包build,添加执行shell、调用顶层maven目标

最下面构建操作

发版验证

jenkins项目点击Build with Parameters,右侧会显示我们在gitlab打的标签

选择相应标签构建即可

选择不同的标签,发布的就是提交不同的内容

7
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区