Giter VIP home page Giter VIP logo

jdeploy's Introduction

JDeploy

JDeploy自动化部署平台

JDeploy是Java + Shell实现的基于Linux系统的自动化、可视化的项目部署平台,能部署Java服务、Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkins复杂的配置,只需要提供SVN/GIT地址即可部署项目。

JDeploy

JDeploy

JDeploy

JDeploy

JDeploy自动化部署平台部署

服务器环境:Linux(不支持Windows),需要Java环境和Maven环境,支持javamvnsvngit命令。

创建数据库(MySQL)

运行SQL文件创建数据库:doc/sql.sql

Shell脚本

JDeploy自动化部署平台是基于Shell脚本实现。

Java项目部署Shell脚本:doc/shell/javadeploy

Java Web项目部署Shell脚本:doc/shell/javawebdeploy

Shell脚本的目录位置需要配置在config.properties中。

Jetty

JDeploy自动化部署平台Java Web项目部署是基于Jetty服务器的。

需要自行下载Jetty服务器,并在config.properties中配置Jetty目录下start.jar路径。

配置文件

配置文件:src/main/resources/config.properties

需要配置数据库连接信息、Shell脚本位置、Jetty位置、项目部署位置。

部署

以上配置完成后,将项目部署在Jetty/Tomcat服务器上即可。

登录JDeploy

部署成功后,默认登录用户名:admin,密码:1234abcd。JDeploy使用Spring Security登录验证,配置文件:src/main/resources/springSecurity.xml,可以根据部署需求灵活配置。可参考博客:http://xxgblog.com/2015/09/06/spring-security-start/

Java项目部署

新建项目

在“Java项目部署”选项中点击“创建”按钮,进入创建页面。需要填写“项目名称”、“SVN/GIT地址”、“Maven profile”,例如:

项目名称:JDeploy测试Java项目

SVN地址:http://code.taobao.org/svn/jdploy_java_deploy_test/

Maven profile:Maven打包时使用的pom.xml中的profile,如果不需要可以为空

Maven module:使用Maven模块化项目时部署模块的模块名,非模块化项目可以为空

部署项目

在项目详情页面点击“部署”按钮,会从SVN中检出最新版本代码,并打包运行。

重启和停止

如果项目已经完成部署,可以通过点击“重启”或者“停止”按钮来重启或停止。

查看运行状态和显示日志

可在“运行状态”面板中查看程序运行状态,点击“查看日志”可以查看程序在控制台输入的日志。

对Java项目要求

DEMO:http://code.taobao.org/svn/jdploy_java_deploy_test/

1、使用Maven管理项目,通过mvn clean package可以打可运行的jar包。

2、jar包可以通过java -jar xxx.jar直接运行(包含依赖包,并配置好main方法所在Class)。

建议使用maven-shade-plugin插件:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-shade-plugin</artifactId>
	<version>2.3</version>
	<executions>
		<execution>
			<phase>package</phase>
			<goals>
				<goal>shade</goal>
			</goals>
			<configuration>
				<transformers>
					<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
						<mainClass>com.xxg.jdeploy.test.javadeploy.Main</mainClass>
					</transformer>
					<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
						<resource>META-INF/spring.handlers</resource>
					</transformer>
					<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
						<resource>META-INF/spring.schemas</resource>
					</transformer>
				</transformers>
			</configuration>
		</execution>
	</executions>
</plugin>

Java Web项目部署

新建项目

在“Java Web项目部署”选项中点击“创建”按钮,进入创建页面。需要填写“项目名称”、“contextPath”、“端口号”、“SVN/GIT地址”、“Maven profile”,例如:

项目名称:JDeploy测试Java Web项目

contextPath:/jdploytest(也可以填写'/')

端口号:8080

SVN地址:http://code.taobao.org/svn/jdploy_javaweb_deploy_test/

Maven profile:Maven打包时使用的pom.xml中的profile,如果不需要可以为空

Maven module:使用Maven模块化项目时部署模块的模块名,非模块化项目可以为空

部署项目

在项目详情页面点击“部署”按钮,会从SVN中检出最新版本代码,并打包运行。

重启和停止

如果项目已经完成部署,可以通过点击“重启”或者“停止”按钮来重启或停止。

查看运行状态和显示日志

可在“运行状态”面板中查看程序运行状态,点击“查看日志”可以查看程序在控制台输入的日志。可用浏览器访问http://ip:port/contextPath。

对Java Web项目要求

DEMO:http://code.taobao.org/svn/jdploy_javaweb_deploy_test/

使用Maven管理项目,通过mvn clean package可以打成war包。

SVN/GIT配置用户密码

如果SVN需要用户密码访问,可以这样配置:http://code.taobao.org/svn/test/trunk --username yourusername --password yourpassword

如果GIT需要用户密码访问,可以这样配置:https://yourusername:[email protected]/wucao/test.git

jdeploy's People

Contributors

wucao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jdeploy's Issues

在Jetty中运行时出现错误

在Jetty7,8和9运行时都会出现错误,在Jetty7中运行时出现Caused by:
java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found
at org.springframework.web.socket.server.support.AbstractHandshakeHandler.initRequestUpgradeStrategy(A

,在Jetty9中会出现java.lang.NoSuchMethodError: org.eclipse.jetty.websocket.server.WebSocketServerFactory: method ()V not found,

你能否把正确的jetty版本号发给我呢?

java.io.eofexception:unexpected end of zlib input stream

求助。
一台机器可以正常运行 Jdeploy项目;
另一台机器运行报错:
java.io.eofexception:unexpected end of zlib input stream
两台机器都是centos6.5;
jdk,maven,ant,jetty的版本也都是一样的;

部署文档

你好!大佬,能否出一份完整的部署文档.

你是不是少了依赖 大锅

<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>org.springframework.web.servlet</artifactId>
		<version>3.2.2.RELEASE</version>
	</dependency>

启动脚本不对

运行状态是停止,我使用logger日志输出到控制台发现执行isrunning.sh脚本返回的字符串为空,但是我到线上执行ps -ef |grep $1 命令能够获取到服务运行

没有那个文件,正确放在哪个目录

sh: doc/shell/javawebdeploy/kill.sh: 没有那个文件或目录
sh: doc/shell/javawebdeploy/start.sh: 没有那个文件或目录

发生异常,请重试!
sh: doc/shell/javawebdeploy/kill.sh: 没有那个文件或目录

sh: doc/shell/javawebdeploy/showlog.sh: 没有那个文件或目录

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.