使用开源工具:Jenkins,码云gitee,docker,docker页面管理工具PortainerUI,github

各种工具的安装就不必介绍了,首先打开Jenkins,刚安装完Jenkins,可能默认的没有maven,gitee的扩展插件,需要下载扩展插件

安装maven插件

安装gitee插件

然后配置maven地址,git本地仓库分支,jdk路径,gitee链接

全局工具配置,构建maven项目要用到maven中的setting文件,可以在这配置

另外就是本地仓库的设置了,这里有没有使用到github,我忘记了,刚开始用的时候。我记得安装本地GitHub了,也要配置了仓库路径,现在找不到了,可能需要安装,用公钥私钥将本地仓库与远程的gitee绑定,不用再Jenkins中配置。也可能用不到github,因为用的gitee,只需要安装gitee插件就可以了。

测试gitee的连接是否可行,这个步骤如何成功的我也忘记了,可以百度一下

接下来就是新建任务了,选择构建maven项目,配置源码通过git获取,填入码云上项目的地址和用户名及密码,选择分支。

然后勾选post steps,输入build参数

构建后操作,脚本如下,此处我的脚本的作用是,停止已经运行Tomcat,将编译后的文件移到Tomcat中webapps目录下,重启Tomcat。

如果要运行在docker中,要先开启docker服务,创建81,82端口的容器,如果容器在运行,使用portainerUI停止容器的运行。

shell脚本如下

#!/bin/sh
#copy file and restart tomcat
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export CATALINA_3_HOME=/usr/local/tomcat3
export CATALINA_3_BASE=/usr/local/tomcat3
BUILD_ID=dontkillme
tomcat_path=/usr/local/tomcat3
project=springbootmybatis-0.0.1
war_name=springbootmybatis-0.0.1.war
war_path=http://39.97.230.232:9000/job/Jenkins_War_Test/ws/target
server_port=8080
file_path=/usr/local/jenkins/jenkins_war_test/target

now=$(date +"%Y%m%d%H%M%S")
echo "the shell execute time is ${now}"

echo `lsof -n -P -t -i :${server_port}`
tomcat_pid=`lsof -n -P -t -i :${server_port}`
echo "the tomcat_pid is ${tomcat_pid}"

if [ "${tomcat_pid}" != "" ]; then
kill -9 $tomcat_pid
echo "kill the server"
fi

echo "rm ${tomcat_path}/webapps/${war_name}"
rm ${tomcat_path}/webapps/${war_name}

echo "rm -rf ${tomcat_path}/webapps/${project}"
rm -rf ${tomcat_path}/webapps/${project}

cd $file_path
if [ -f ${war_name} ]; then
cp ${war_name} ${tomcat_path}/webapps
docker run -d -p 81:8080 --name webdemo1 --restart=always tomcat
docker run -d -p 82:8080 --name webdemo2 --restart=always tomcat
docker cp ${war_name} webdemo1:/usr/local/tomcat/webapps
docker cp ${war_name} webdemo2:/usr/local/tomcat/webapps
else
echo "${war_name} unexists"
fi
#sh ${tomcat_path}/bin/startup.sh
echo "server restarted"

之后保存,构建项目,查看控制台输出的信息

最后看控制台最后是否执行成功,如果成功代表配置正确,此总结还算可靠,如果出现错误,可能是某些地方出现了问题,也可能是配置不对,也可能是代码出现的问题。

此博客第一次写,排版什么的都不太好看,写得也很乱,虽然花费时间不少,但是效果不怎样,欢迎大家点评,指出不足之处,以便后续补充,有疑问也可以咨询。

jenkins集成基于maven的javaweb项目,部署到docker容器中的更多相关文章

  1. Linux下将.Asp Core 部署到 Docker容器中

    我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...

  2. 基于maven的javaweb项目模块化开发

    转自:https://my.oschina.net/kingfire/blog/273381 基于maven的javaweb项目模块化开发 引言 考虑团队拥有多个类似项目的情况,比如一些功能差异不大的 ...

  3. 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行

    实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第 ...

  4. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  5. 基于maven构建javaweb项目思路梳理及改进

    需要准备的东西: Jdk. myeclipse. maven包 预装jdk环境 1.maven安装及配置: a)      详见url https://www.cnblogs.com/eagle668 ...

  6. 将netcore网站部署到docker容器中

    一.背景 最近一直在看docker的教程,基础知识看的差不多了.理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中. 环境:1.docker for wind ...

  7. 【docker部署】基于linux的centos操作系统部署安装docker容器

    一.docker介绍 容器是轻量级的,包含应用运行所需所有东西(代码.库.运行时环境.系统设置,以及依赖关系)的独立的包.每个容器都部署于它自己的 CPU.内存.块 I/O,以及网络资源上,所有这些都 ...

  8. 基于maven的JavaWeb项目构建部署

    需要准备的安装文件: 1 JDk http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html jdk-8 ...

  9. 使用IntelliJ IDEA新建maven的javaWeb项目部署,启动访问index,jsp页面

    对于用惯了eclipse的人,idea其实还挺不一样的,也是摸索了很久,看了好多博客,这里就记录一下,以后肯定经常用!,不过使用熟练了,功能确实非常强大,真的牛! 1 新建maven项目,配置好目录结 ...

随机推荐

  1. STC8H开发(十五): GPIO驱动Ci24R1无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  2. Apache DolphinScheduler 社区呼唤志愿者

    DolphinScheduler是什么? Apache DolphinScheduler 是一个分布式.易扩展并带有强大的可视化界面的大数据工作流调度系统. 2021 年 03 月 18 日正式成为 ...

  3. CF280D k-Maximum Subsequence Sum(线段树)

    在做这题时我一开始把\(tag\)写入了结构体 #include <iostream> #include <cstdio> #include <cstring> # ...

  4. 图解OSI七层模型

    七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系.它是一个七层的.抽象的模型体 ...

  5. 275. H 指数 II--Leetcode_暴力

    来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/h-index-ii 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. 题目的大意是 ...

  6. 大数据Hadoop入门教程 | (一)概论

    数据是什么 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质.状态以及相互关系等进行记载的物理符号或这些物理符号的组合,它是可识别的.抽象的符号. 它不仅指狭义上的数字,还可以是具有一定 ...

  7. iommu分析之---DMA remap框架实现

    本文主要介绍iommu的框架.基于4.19.204内核 IOMMU核心框架是管理IOMMU设备的一个通过框架,IOMMU设备通过实现特定的回调函数并将自身注册到IOMMU核心框架中,以此通过IOMMU ...

  8. [CF1498D] Bananas in a Microwave (DP)

    题面&翻译 题解 虽然 m m m 很大,但是 n n n 很小,因此题目允许我们在 O ( n m ) O(nm) O(nm) 以内解决这道题. 定义一个 dp[i][j]=0/1 ? 如果 ...

  9. 第五十八篇:webpack的Source Map

    好家伙,Source Map没听过 1.什么是Source Map? 字面意义上来看应该是个好东西 Source Map 就是一个信息文件,里面储存着位置信息. 也就是说,Source Map 文件中 ...

  10. 创建x11vnc系统进程

    〇.前言 为方便使用vnc,所以寻找到一个比较好用的vnc服务端那就是x11vnc,索性就创建了一个系统进程 一.环境 系统:银河麒麟v4-sp2-server 软件:x11vnc[linux下].V ...