【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用

这篇具有很好参考价值的文章主要介绍了【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

整体架构

环境准备

安装docker以及docker-compose

jenkins安裝

maven安装

portainer面板安装

sonarqube安装 

在项目中增加dockerfile和compose.yml脚本

 Dockerfile脚本内容

compose.yml脚本内容

jenkins安装必要插件

jenkins增加流水线任务

增加pipeline任务job

 增加pipeline脚本


整体架构

【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用,jenkins,java,jenkins,docker

环境准备

安装docker以及docker-compose

#官网https://docs.docker.com/engine/install/centos/
sudo yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
curl -SL https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

jenkins安裝

docker安装,启动命令:docker run --name jenkins \
--restart always \
-p 8080:8080 \
-p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
-d jenkins/jenkins:2.413

maven安装

portainer面板安装

docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 \
--name portainer-alpha \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /application/portainer/data:/data \
portainer/portainer-ce:2.18.4

sonarqube安装 

docker安装,启动脚本:/usr/local/sonar/compose.yml
启动命令:docker-compose up -d
compose.yml文件内容如下:
services:
  postgres:
    image: postgres
    container_name: pgdb
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar

  sonarqube:
    image: sonarqube:9.9.1-community
    container_name: sonarqube
    restart: always
    depends_on:
      - postgres
    ports:
      - 9000:9000
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://pgdb:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar

在项目中增加dockerfile和compose.yml脚本

【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用,jenkins,java,jenkins,docker

 Dockerfile脚本内容

#  jar镜像构建脚本
#  在jdk基础镜像上构架自定义jar包镜像
#  更改APP_NAME和ENTRYPOINT里面的jar名称,EXPOSE端口

# 基础镜像 指定jdk镜像名和及其版本
FROM openjdk:8u102
# 用标签写好开发者信息和系统描述信息
LABEL appdesc="xxx平台系统-系统服务" auth1="阿来小同学" email1="xxx@xxx.com"
#接收来自compose.yml文件中来的构建镜像参数
ARG ACTIVE
#dockerfile上下文用的环境变量,后面启动命令无法引用arg参数,所以需要环境环境变量来做中间转换
ENV APP_NAME=xxxxxxx APP_ACTIVE=$ACTIVE
#把宿主机的jar包复制到docker镜像的目录内
COPY ${APP_NAME}.jar /application/${APP_NAME}.jar
#指定docker内部的工作目录
WORKDIR /application
#描述下应用的端口
EXPOSE 12002
#数据卷挂载
VOLUME ["/application/logs"]
#执行命令以及参数 每一个字符串参数不要包含空格
ENTRYPOINT ["java","-XX:MetaspaceSize=256m","-XX:MaxMetaspaceSize=512m","-Xms256m","-Xmx256m","-Xmn128m","-Xss512k","-XX:SurvivorRatio=8","-XX:+UseConcMarkSweepGC","-jar","xxxxxxx.jar","--spring.profiles.active=${APP_ACTIVE}"]

compose.yml脚本内容

#jar镜像运行脚本
services:
  testservice:
    build:
      context: ./
      args:
        - ACTIVE=${ACTIVE}
        - TAG=${TAG}
    image: 自定义镜像名:${TAG:-latest}
    container_name: 自定义容器名
    restart: always
    volumes:
      - /application/logs:/application/logs
    ports:
      - 12002:12002

jenkins安装必要插件

WXWork Notification Plugin   

Git

Publish Over SSH

Pipeline

SonarQube Scanner for Jenkins

jenkins增加流水线任务

增加pipeline任务job

【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用,jenkins,java,jenkins,docker

 增加pipeline脚本

【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用,jenkins,java,jenkins,docker

 最后构建运行即可,看控制台实时日志排查问题文章来源地址https://www.toymoban.com/news/detail-599772.html

到了这里,关于【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【jenkins】jenkins流水线构建打包jar,生成docker镜像,重启docker服务的过程,在jenkins上一键完成,实现提交代码自动构建的功能

     【jenkins】jenkins流水线构建打包jar,生成docker镜像,重启docker服务的过程,在jenkins上一键完成,实现提交代码自动构建,服务重启,服务发布的功能。一键实现。非常的舒服。 这是 shell脚本  脚本名称: startup.sh   本脚本的功能是在jenkins 构建完项目后,通过jar包生成dock

    2024年02月11日
    浏览(33)
  • 【Jenkins】Jenkins构建前端流水线

    1、服务器中已安装好nginx,如没有安装,可参考此博客:【Shell脚本】Linux安装Nginx以及开机自启 2、如果已有试图,则直接新建任务;如没有视图,则新建一个视图即可。 一个项目一个视图就可以 描述:XXX前端-前端XXX服务测试环境-项目构建 创建人:创建者姓名 时间:创建

    2024年02月16日
    浏览(78)
  • jenkins流水线

    1、 二、 三、 四、 五、 六、  

    2024年02月05日
    浏览(46)
  • Jenkins的流水线详解

    来源:u.kubeinfo.cn/ozoxBB 什么是流水线 声明式流水线 Jenkinsfile 的使用 jenkins 有 2 种流水线分为 声明式流水线 与 脚本化流水线 ,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。 声明式流水线 在声明式流水线语

    2024年02月11日
    浏览(35)
  • Jenkins流水线怎么做?

    问CHAT:Jenkins流水线怎么做? CHAT回复:Jenkins流水线是一种创建、测试和部署应用程序的方法。以下是为Jenkins创建流水线的步骤: 1. 安装Jenkins:首先你需要在你的服务器上安装Jenkins。这个过程可能会根据你的操作系统有所不同。 2. 安装必要的插件:为了使流水线工作,你需

    2024年01月24日
    浏览(42)
  • 【Jenkins】pipeline流水线

    流水线既能作为任务的本身,也能作为jenkinsfile,使用流水线可以让我们的任务从ui手动操作,转换为代码化,像docker的dockerfile一样,从shell命令到配置文件,更适合大型项目,可以让团队其他开发者同事参与进来,同时也可以编辑开发jenkinswebui不能完成的复杂的构建逻辑,作

    2024年02月09日
    浏览(56)
  • Jenkins 流水线多阶段构建

    Jenkins流水线配置遇到 无法识别的。需要使用 自定义环境 项。 比如官网的在流水线中使用Docker Started by remote host 172.17.0.1 Obtained Jenkinsfile from git http://10.99.20.51:8082/root/java-devops-demo.git org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 28: Invalid agent type “

    2024年04月22日
    浏览(27)
  • Jenkins-流水线-保姆级教程

    目录 一、Jenkins 是什么? 二、安装方式 2.1 下载并运行 Jenkins  三、什么是流水线 3.1概述 3.2声明式流水线 3.3脚本化流水线 四、声明式流水线 4.1 Sections代码区域块 4.1.1Agent指令 4.1.2agent 的配置示例 4.1.3Post代码块 4.1.4.sepes代码块 五、Jenkinsfile的使用 5.1环境变量 5.1.1静态变量

    2024年02月01日
    浏览(37)
  • 【Jenkins】Jenkins构建后端流水线

    xxxx后端-后端cim服务测试环境-项目构建 创建人:创建者姓名 时间:创建时间 保持构建天数:2 保持最大构建个数:3 ①clean:清楚之前;package:打包 -Dmaven.test.skip=true:跳过测试;-U:强制让Maven检查所有SNAPSHOT依赖更新 这里的pom.xml文件注意: Branches to build:分支某个环境的

    2024年02月12日
    浏览(44)
  • jenkins流水线实现xjar加固

    xjar的定义 功能特性 xjar使用 修改项目中的pom.xml,一般都是开发改 jenkins流水线配置 查看jenkins工作目录 远端服务器配置–☞需要授权的服务器 获取授权服务器信息 执行脚本 脚本内容, 1.判断镜像是否存在 2.把xjar.go解压,需要有go环境 3.制作镜像,然后把镜像制作成tar包

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包