热门标签 | 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   

 

 

推荐阅读
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 本文介绍了如何在iOS应用中自定义导航栏按钮,包括使用普通按钮和图片生成导航条专用按钮的方法。同时,探讨了在不同版本的iOS系统中实现多按钮布局的技术方案。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
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社区 版权所有