开源Java自动化部署平台JDeploy

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

传统部署方式:从SVN/GIT服务器检出代码->在IDE中打包->将包传到服务器->SSH连上服务器->敲指令启动/停止

JDeploy部署:创建项目->一键部署/启动/停止

* 检出代码、打包、启动、停止等操作通过Shell脚本自动执行。

下载:http://download.csdn.net/detail/xiao__gui/9195773

源码[View on Github]:https://github.com/wucao/JDeploy

【* 如果你对JDeploy感兴趣,请在Github点Star】

在Linux上部署JDeploy

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

创建数据库(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服务器上即可。

Java项目部署

新建项目

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

项目名称:JDeploy测试Java项目

finalName:javadeploy

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

注:finalName需要填写部署的项目pom.xml中配置的finalName,如<finalName>javadeploy</finalName>

部署项目

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

重启和停止

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

查看运行状态和显示日志

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

对Java项目要求

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

1、使用Maven管理项目,通过mvn clean package可以打可运行的jar包,创建项目时填写的finalName和pom.xml中的finalName一致。

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项目部署”选项中点击“创建”按钮,进入创建页面。需要填写“项目名称”、“finalName”、“contextPath”、“端口号”、“SVN地址”,例如:

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

finalName:javawebdeploy

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

端口号:8080

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

注:finalName需要填写部署的项目pom.xml中配置的finalName,如<finalName>javawebdeploy</finalName>

部署项目

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

重启和停止

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

查看运行状态和显示日志

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

对Java Web项目要求

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

使用Maven管理项目,通过mvn clean package可以打成war包,创建项目时填写的finalName和pom.xml中的finalName一致。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-01 20:55:28

开源Java自动化部署平台JDeploy的相关文章

关于自动化部署平台的尝试

前言 参加过两次公司生产环境的版本更新,最近一次让我萌生了开发一个自动化部署平台的念头.虽然网上也有不少的自动化部署软件,但还是想自己动手写一个.一来是为了让平台更适应当前的实际情况,也利于以后自己对平台通用性的扩展:二来是为了锻炼自己,给自己的空闲时间找点事情做,不至于虚度时光. 以下是整理出的初稿,想到的点比较简单,后面会持续完善. 如果本文有幸被您看到,望能指点一二. 不管是积极的还是消极的,请留下您的看法. 背景 程序开发好之后免不了部署.刚开始还好,手动打包.上传.部署,也不需要多长时

centos7+docker+Jenkins+svn搭建自动化部署平台

centos7+docker+Jenkins+svn搭建自动化部署平台 1. centos7 参考链接:http://www.macrozheng.com/#/reference/linux_install tips 公司服务器配置(1T机械+256固态+i7的u) 需要我们把系统,环境(java,mysql,redis,docker等)装到固态上(速度快),我们的代码放到机械上.分区情况如下图 2. centos7中安装docker1.31.1 自行百度,此处无坑 3. centos7安装配置

salt分布式自动化部署平台

集中管理平台上安装salt-master 各个交易所监控机上安装salt-minion和salt-master,各个客户端安装salt-minion; salt-master管理各个监控机,监控机管理各个客户端,这样实现统一自动化部署.

jenkins搭建自动化部署平台(svn+tomcat重启)

原文链接:http://blog.csdn.net/zjs40/article/details/51818322 jenkins 自动化部署和集成代码的平台 可以将Git svn 上的代码 checkout 然后重新部署服务器,节省开发测试的效率 一.https://jenkins.io/index.html 下载jenkins包(war包) 二.下载完war包   在服务器上最好新建一个tomcat专门用来做jenkins启动的   修改一下server.xml 文件中修改   : (1) 修

maven+jenkins 搭建自动化部署平台

jenkins 自动化部署 1.安装JDK 1.1.上传linux的JDK安装包到opt目录下,并解压 1.2.配置jdk环境变量vim /etc/profile  在尾部添加如下内容,添加完成后执行命令:source /etc/profile # jdk环境变量 export JAVA_HOME=/opt/jdk1.8.0_102 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HO

walle自动化部署平台安装

Walle - 瓦力 是一个支持svn.git.多用户.多项目.多环境同时部署的上线部署系统. 相比jenkins其项目配置更简单.回滚快速.权限分级.用户分组功能更完善:UI界面更优雅,用户体验更人性,大大方便了开发者和管理者的持续交付开发.支持各种web语言代码发布,php.python.java等. 其最大特点是对git版本的分支.tag可自定义在测试.预发布,生产环境部署.开发者和测试同学协作迭代开发上线,无论是milestone或者feature小步快走式上线都可支持. 一,基础准备

基于Saltstack、Artifactory打造传统模式下持续部署平台

一. 持续部署 1. 现状 由于没有建立标准的持续部署流程,导致了版本管理混乱,制品管理混乱,上线持续时间长,上线测试覆盖不全面,业务流量上升后故障较多,排查复杂.运维.测试.开发人员每次版本迭代的时候,都要可能需要经历一次通宵的历练,并且这种在上线的第二天依然会出现很多线上故障. 2. 痛点 ·自动化发布体系覆盖率低.·无标准化发布的流程.a) 只注重敏捷.忽视质量问题:b) 变更频繁导致故障率增加:c) 开发语言种类多,发布制品管理混乱,发布方式复杂:·安全问题容易被忽视. 二. 工具介绍

中小企业自动化部署实践

转载:http://www.unixhot.com/article/31 我们今天的话题是中小企业如何实现自动化部署,为什么定位中小企业呢?因为中小企业常面临着运维人员有限,成本投入有限,但是版本更新快,而且服务器数量 却并不少的局面.基本不会投入运维开发来开发自动化部署平台,那么我们今天就拿运维工程师都熟悉的Shell进行举例,谈谈如何来进行一个自动化部署的设计 1.1    统一认识 在开始之前我们需要先统一认识,在IT管理里面有三大核心要素是PPT,也就是人员/组织架构(People).流

CMDB与自动化部署的联动

无论是chef.ansible等自动化部署工具,还是市场上的一些商用自动化部署平台都可以在运维中与CMDB联动: 自动化部署工作通常是通过部署在被管理机上的agent进行,所以通过agent可以获取主机的配置数据,当然具体的自动化部署软件的不同,获取的配置数据是不同的(文章最后是通过ansible获取centos6.5的配置数据文件),这些数据可以被取出发送到CMDB库中进行更新. 自动化部署工作在部署之前需要获取主机列表.操作系统版本及补丁情况.应用软件.应用端口...等,只有符合部署条件的主