栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jenkins+docker+maven部署java程序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jenkins+docker+maven部署java程序

前几天写了关于jenkins+docker+nodejs部署vue前端的内容,今天把对应vue项目的后端也通过jenkins+docker部署出来,使前后端相通,使之可以正常登录访问后端接口

回顾

这是上次部署的前端项目

[root@jenkins docker]# cat default.conf 
server {
        listen  80;
        server_name localhost;
        location / {
                root  /app;
                try_files $uri $uri/ /index.html;
                index  index.html index.htm;
                }
        location /api {
			if ($request_method = 'OPTIONS') {
                        return 204;
                }
                rewrite  ^/api/(.*)$ /$1 break;
                proxy_pass http://192.168.80.133:8071/;
        }}

这是当时的配置文件,可以看到当用户访问路由/api/下的内容时,前端都会proxy到http://192.168.80.133:8071/
这个就是今天需要部署的后端java项目

#创建job

新建job,类型选maven项目

选择丢弃旧的构建

选择参数化构建:
用来定义每次镜像的版本号

配置代码仓库及分支

构建环境勾选清除工作空间和添加时间戳到构建输出

构建步骤选择执行shell

配置maven打包命令

点击保存!

编写shell语句

这里的大致步骤就是停止并删除java-agent容器,构建新的java-agent带版本号的镜像,用最新的版本号镜像去启动容器,或者上传到harbor,远程其他节点去拉去新的镜像和启动。

#!/bin/bash
docker ps |grep java-agent
dcoker stop java-agent
docker rm java-agent
docker build -t java-agent:$version .
#构建和部署在一台
docker run --name java-agent -p 8071:8071 -d java-agent:$version
#构建和部署不在一台,或者上传到harbor
#docker tag java-agent:$version  192.168.80.133:8000/test/java-agent:$version
#docker push 192.168.80.133:8000/test/java-agent:$version
#远程其他节点部署
# ssh 192.168.80.** "docker pull 192.168.80.133:8000/test/java-agent:$version"
# ssh 192.168.80.** "docker stop java-agent;docker rm java-agent"
# ssh 192.168.80.** "docker run --namejava-agent -p 8071:8071 -d 192.168.80.133:8000/test/java-agent:$version"
编写dockerfile

Dockerfile文件是我提前写好上传到代码库的,下图是文件内容

[root@jenkins java-agent]# cat Dockerfile
FROM java:8
MAINTAINER jay
VOLUME /tmp
#复制jar包
ADD target/sport-api-agent-0.0.1-SNAPSHOT.jar app.jar
#更新文件时间
RUN bash -c 'touch /app.jar'
#暴露端口
EXPOSE 8071
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xms256m","-Xmx512m","/app.jar","--spring.profiles.active=test"]

–spring.profiles.active=test 指定读取的具体配置文件名字

一切准备就绪,构建看看

第一次构建的话是需要去下载maven的依赖库,我这是以及构建了几次



maven 编译打包完成
日志显示开始执行shell内语句了

构建完成,登录服务器查看docker进程


容器运行中,打印日志看看是否有报错

日志显示正常,
通过前端界面登录看能否通过后端API接口验证


搞定!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/685480.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号