热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CICD持续集成解放双手java开发使用Jenkins/alibabaCloudToolkit

公司最近有一个项目比较大,有6个子项目,开发分为开发环境、测试环境、正式环境,测试环境每次发布多个项目,一个发布n次;每次发布都是打war包,copy代码,停止tomcat|jetty,启动

公司最近有一个项目比较大,有6个子项目,开发分为开发环境、测试环境、正式环境,测试环境每次发布多个项目,一个发布n次;每次发布都是打war包,copy代码,停止tomcat|jetty,启动服务器真心麻烦。使用jenkins,只需要点击一下立即构建,就可以喝茶去了。

java web项目, android , ios 也是 支持的;

参考自己站内博客:[jenkins linux 2020年更新 -增加docker - rancher ]

 

注意:

1:tomcat不能删除所有的manger相关的project

2:要在jekins配置tomcat的管理员账号;操作的tomcat必须处于启动状态,否则报错Caused by: java.net.ConnectException: Connection refused: connect

3:Jenkins 中创建项目时没有Maven项目怎么办 Maven Integration Plugin

4:项目目录中的文件不要用其他工具打开,防止jekins删除不了webapp下面部署的项目

5:shiro-ehcache在持续集成无法发布问题

6:tomca 易错 配置 PASSION之SVN+MAVEN+TOMCAT+JENKINS配置易错处

易错配置之:

Tomcat Undeploy Failed Error

7:修改tomcat黑窗口命名 启动窗口(startup.bat)的名字  bin/catalina.bat 修改 if "%TITLE%" == "" set TITLE=想要修改的名字Tomcat

 

版本:Jenkins ver. 2.46.3

 

类似国内集成部署工具:http://www.walle-web.io/

国外其他CI工具:TeamCity,  详细介绍

Microservices 场景下的持续部署 | 吕健

 

修改jenkins的默认端口

mac 电脑默认 jenkins 安装目录:/Users/Shared/Jenkins

 

 

Mac环境中Jenkins的停止和启动命令

启动

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

停止

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

Jenkins怎么启动和停止服务

Jenkins学习一:Jenkins是什么?

Jenkins学习二:Jenkins安装与配置

Jenkins入门系列之——01第一章 Jenkins是什么?

MAC上卸载Jenkins的方法

Jenkins 忘记密码解决方案

 

我们项目中使用截图:

 

 

/Users/zhangsan/.bash_profile
## ADD JAVA_VERSION
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# ADD ANDROID-SDK-ROOT
export ANDROID_SDK_ROOT=/work/SDK/android-sdk-macosx
export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH
# ADD Gradle
export GRADLE_USER_HOME=/Users/duandazhi/.gradle/
export PATH=$GRADLE_USER_HOME/wrapper/dists/gradle-2.14.1-all/8bnwg5hd3w55iofp58khbp6yv/gradle-2.14.1/bin:$PATH
# ADD Maven
export M2_HOME=/Library/apache-maven-3.5.0
export PATH=$M2_HOME/bin:$PATH
# Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x
COCOS_CONSOLE_ROOT=/work/Cocos2d-J/cocos2d-js-v3.6/tools/cocos2d-console/bin
export PATH=$COCOS_CONSOLE_ROOT:$PATH
# Add environment variable ANT_ROOT for cocos2d-x
ANT_ROOT=/work/ant/apache-ant/bin
export PATH=$ANT_ROOT:$PATH
# Add environment variable NDK_ROOT for cocos2d-x
NDK_ROOT=/work/NDK/android-ndk
export PATH=$NDK_ROOT:$PATH

 

 

 

如果没有maven 项目,请先安装 maven插件, Maven Integration Plugin

 

 

 

每10分钟构建一次:H/10 * * * *   或*/10 * * * *        */5 * * * * (每5分钟检查一次源码变化)

每天8点构建一次:0 8 * * *

每天19点~23点,两小时构建一次:0 19-23/2 * * *

周一到周五,8点~17点,两小时构建一次:0 8-17/2 * * 1-5

1-6月中每月1号、30号各构建一次:H H 1,30 1-6 *

 

 

 

 

echo 'dazer.bat'
echo 'this is a windows batch in post steps ======================= dazer '
echo '这些命令 在 打包完成后执行 ,解决 spring boot+swagger ,对应ui 的 jar 无法删除,只能手动关闭tomcat, 删除jar ,在重启 tomcat '
@REM 我是注释,第一步:关闭Tomcat
@REM 第二步:删除safety下面的文件
@REM 第三部:重启tomcat
echo 设置参数
set CATALINA_HOME=D:\Server\tomcat9-safety-8680
set PRJ_NAME=safety.war
@REM 删除之前的
echo 删除之前存在的
d:
cd %CATALINA_HOME%\bin
@REM 停止Tomcat
echo 停止Tomcat
@REM 注释关闭命令,使用服务关闭call shutdown.bat
net stop tomcat9-safety-8680
cd %CATALINA_HOME%\webapps

echo 'del命令删除一个或者多个文件; rd /s 删除目录树'
echo 'del %PRJ_NAME%'
rd /s /q safety
@REM 启动Tomcat
echo 启动Tomcat========
cd %CATALINA_HOME%\bin
@REM 注释命令,使用服务启动 call startup.bat
net start tomcat9-safety-8680
echo 启动Tomcat==sucess======
echo 延迟10s------
ping -n 10 127.0.0.1
echo 启动Tomcat==sucess 2 sucess ======
pause

 

或者可以在这里调用bat脚本,不用一堆; 

cmd /c call C:\Windows\TEMP\mydazer.bat

 

target/safety.war   http://localhost:8380

 

如果找不到Deploy war/ear to a container, 请先去安装插件:Deploy to container Plugin

 

 

配置邮箱:

 

atrhedtlhaxlbcgj

http://www.cnblogs.com/gcgc/p/5631385.html

部署失败还可以自动发送邮件,非常方便。

 

tomcat manger 可能出错:

1:没有访问权限

2:不能远程访问

 

[问题记录]按url context path设置nginx反向代理禅道和Jenkins

location /jenkins {

return302http://dev.server.com:8002;

}

 

Jenkins服务器磁盘空间管理策略, jenkins构建的速度很快,可以设置自动删除老的构建

本地部署,请看最新的  Alibaba Cloud Tookit   

 

 

推荐阅读
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
author-avatar
ALL_TTDD
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有