首页 > 其他分享 >Jenkins + Docker + Spring Boot实现自动化部署

Jenkins + Docker + Spring Boot实现自动化部署

时间:2022-11-11 11:48:44浏览次数:71  
标签:Spring Boot 点击 var Jenkins docker 安装 Docker

环境:CentOS7 + Git (Gitee)

实现步骤:在 Docker 安装 Jenkins,配置 Jenkins 基本信息,利用 Dockerfile 和 Shell 脚本实现项目自动拉取打包并运行。

一、安装 Docker
1、 下载Docker依赖的环境
yum -y install yum-utils device-mapper-persistent-data lvm2

2 指定Docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3 安装Docker
采用yum的方式安装
yum makacache fast
yum -y install docker-ce

4 启动Docker并测试
启动Docker服务
systemctl start docker
设置开机自动启动
systemctl enable docker
测试
docker run hello-world

二、安装 Jenkins

  1. 安装 Jenkins
    Docker 安装一切都是那么简单。注意检查 8080 是否已经占用,如果占用请修改端口。
    docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

如果没改端口号的话,安装完成后访问地址:http://{部署Jenkins所在服务IP}:8080

  1. 初始化 Jenkins
    2.1 解锁 Jenkins
    进入Jenkins容器
    docker exec -it {Jenkins容器名} bash
    例如 docker exec -it jenkins bash

这里需要注意,如果没有这个文件夹,就需要将文件夹权限进行修改
chmod 777 var
查看密码
cat var/jenkins_home/secret.key

复制密码到输入框里面
image

2.2 安装插件
选择第一项:安装推荐的插件。
image
2.3 创建管理员用户

三、系统配置

  1. 安装需要插件
    进入【首页】–【系统管理】–【插件管理】–【可选插件】。搜索以下需要安装的插件,点击安装即可
    image
    安装 Maven Integration
    安装 Publish Over SSH(如果不需要远程推送,不用安装)
    如果使用 Gitee 码云,安装插件Gitee(自带 Git 不用单独安装)
  2. 配置 Maven
    进入【首页】–【系统管理】–【全局配置】,拉到页面最下方 maven–maven 安装。
    image
    四、创建任务
  3. 新建任务
    点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目。
    image
  4. 源码管理
    点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。
    image
    image
  5. 构建触发器
    点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层 Maven 目标】–【「填写配置」】–【保存】。
    image

此处命令只是 install,看是否能生成 jar 包。
clean install -Dmaven.test.skip=true
image

五、测试

  1. 构建
    点击构建按钮。
    该功能测试是否能正常打包。
    image
  2. 查看日志
    点击正在构建的任务,或者点击任务名称进入详情页面,查看控制台输出。看是否能成功打成 jar 包。
    该处日志第一次可能下载依赖 jar 包失败,再次点击构建即可成功。
    image
    image
    image
  3. 查看项目位置
    cd /var/jenkins_home/workspace
    ll # 即可查看是否存在
    image
    六、运行项目
    因为项目和 Jenkins 在同一台服务器,所以我们用 Shell 脚本运行项目,原理既是通过 Dockerfile 打包镜像,然后 docker 运行即可。
  4. Dockerfile
    在 Spring Boot 项目根目录新建一个名为 Dockerfile 的文件。

FROM openjdk:8
MAINTAINER 作者姓名+邮箱地址
ADD target/weifufu-1.0-SNAPSHOT.jar app.jar
EXPOSE 8082
ENTRYPOINT ["java","-jar","/app.jar"]

  1. 修改 Jenkins 任务配置
    image

image

cd /var/jenkins_home/workspace/weifuwu
docker stop weifufu || true
docker rm weifufu || true
docker rmi weifufu || true
docker build -t weifufu .
docker run -d -p 8082:8082 --name weifufu weifufu:latest

点击保存即可

3 返回首页构建即可

标签:Spring,Boot,点击,var,Jenkins,docker,安装,Docker
From: https://www.cnblogs.com/syq520/p/16880039.html

相关文章

  • Linux-Centos springboot 部署步骤
    0. 崭新Centos7.9部署springboot一.Java安装1. 查看yum是否安装(如果有安装,则打印详情)rpm-qa|grepyum2.查看java是否安装rpm-qa|grepjava3.查找......
  • 阿里云kafka使用springboot单个项目中同时消费不同topic
    本来是个简单的问题,但是复杂了。两个topic消费方式不一样,一个使用过的是默认方式,不指定partition,另外一个,指定了特殊的partition。报错:11:10:32.888[org.springframework.......
  • springBoot的java工具类
    断言是一个逻辑判断,用于检查不应该发生的情况Assert关键字在JDK1.4中引入,可通过JVM参数-enableassertions开启SpringBoot中提供了Assert断言工具类,通常用......
  • 1:Spring框架核心-Java Spring
    目录​​1.1软件模块化​​​​1.2Spring框架介绍​​​​1.3Spring框架的配置​​​​1.4Servlet​​​​1.5Spring容器​​​​1.6SpringBean对象的注解​​​​1.......
  • 3:SpringBoot-Java Spring
    目录​​3.1SpringBoot介绍​​​​3.2Spring和SpringBoot的区别​​​​3.3系统要求​​​​3.4SpringBootApplication​​3.1SpringBoot介绍SpringBoot的本质是Sprin......
  • 4:SpringBoot-Starter-Java Spring
    目录​​4.1SpringBoot-Starter介绍​​​​4.1Starter原理​​​​4.3Starter依赖引入​​​​4.4Starter配置​​4.1SpringBoot-Starter介绍Starter是SpringBoot的一......
  • 5:SpringBoot-Actuator-Java Spring
    目录​​5.1SpringBoot-Actuator介绍​​​​5.2Endpoints介绍​​​​5.3Actuator原理​​​​5.4Actuator依赖引入​​5.1SpringBoot-Actuator介绍Actuator是Spring......
  • springboot 发布tomcat
    ​废话不多说一下载tomcatApacheTomcat®-ApacheTomcat9SoftwareDownloads 二修改tomcat配置1 conf\server.xml这里我修改了9021端口<Serverport="90......
  • 8:Spring MVC-Java Spring
    目录​​8.1WEB开发模式一​​​​8.2WEB开发模式二​​​​8.3SpringMVC介绍​​​​8.4SpringMVC主要组件​​​​8.5SpringMVC处理流程​​​​8.6SpringMVC的......
  • spring-boot-maven-plugin插件指定打包目录
    插件配置<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId>......