当前位置: 首页 > 软件库 > 开发工具 > 项目构建 >

ideploy

简单易用的持续交付平台
授权协议 MIT
开发语言 JavaScript HTML/CSS
所属分类 开发工具、 项目构建
软件类型 开源软件
地区 国产
投 递 者 窦凯定
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

简介

ideploy 是为前端团队构建部署工程化而开发的一个持续交付平台。我们根据团队人员,项目增长而面临的越来越多在构建,交付等日常工作中的痛点,设计了很多特有而简单易用的功能,节省了团队很多构建部署的协调和 copy 体力工作,极大的提升了团队的开发效率。随着功能的完善,觉得这个系统可以帮助很多类似我们这样成长中的前端团队(当然系统其实也是支持 java、php 等项目的部署的,通过插件编写也可以支持 go 甚至更多语言的构建部署)实现快速构建,快速部署,放心上线。

技术栈

  1. 开发语言: nodejs

  2. 数据库: mysql

  3. 后端框架: thinkjs

  4. 前端js框架 react

  5. 前端ui框架 ant.design

快速启动 (只支持 linux )

  1. git clone xxxxx.git 代码到本地

  2. 安装nodejs 依赖:在根目录下运行npm install

  3. 安装ansible (依赖ansible做部署前后的命令行执行)

  4. 安装mysql 数据库,这里就不展开讲了,具体请参考:mysql文档

  5. 新建一个数据库(名字自己取一个就行,比如fe_build),并且开放足够的访问权限,具体可以参考mysql文档

  6. 代码,通知邮件等访问权限配置:

    由于构建部署系统需要从代码仓库(svn,git)拉取代码,所以需要首先配置svn仓库用户名和密码

    打开src/common/config/config.js,分别填写各项配置,具体如下:

    export default {
    cvsUser: 'myuser',//svn用户名
    cvsPass: 'mypass',//svn密码
    emailHost: 'smtp.qq.com',//通知邮箱地址,这里用qq邮箱作为参考
    emailport: 465,//端口
    emailUser: '3333@qq.com',//邮箱账号
    emailPass: 'xxxxx',//邮箱授权码(具体可以登录mail.qq.com->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->生成授权码获取)
    cvsDir: '/temp',//svn代码临时保存目录
    port: 80 //服务器端口,就是部署平台的web服务端口,
    }

    如果是git项目请保证部署机器能直接有访问git的权限


  7. 代码编译,启动

    输入命令以下命令进行编译:

      npm run build

    编译完成,运行以下名命令启动:

      npm run start

    也可以用forever或者pm2来管理服务,以forever为例:

      npm install -g forever

    项目内置了forever的启动和停止脚本:

      ./start.sh
      ./stop.sh

    服务器起来以后,我们直接访问

    http://localhost

    页面自动跳到登录注册页面,说明启动成功:


  1. 导入数据库脚本,生成数据库基础表结构 这一步主要是为系统运行创建需要的数据库表,为了方便大家使用,项目提供了一个web程序来建立表结构,直接输入:

    http://localhost/install

会出现如下界面,点击‘确定导入数据库表’生成数据库。


当然,也可以通过mysql 直接倒入数据库表结构文件,数据库表文件是db/db.sql

  • 一、获取ideploy安装包并启动 1.拿到对应ideploy版本的安装包 2.解压ideploy后,启动ideploy(默认端口为:18080,请确保端口号没有被占用。)   netstat -anp|grep lsof -i:18080 3.sh $ideploy/bin/startup.sh(启动ideploy) 4.     打开ideply地址(open the url):http://

 相关资料
  • 交付管道的建立和自动化是持续交付的基础 持续集成 更关注代码质量。持续集成是为了确保随着需求变化而变化的代码,在实现功能的同时,质量不受影响。因此,在每一次构建后会运行单元测试,保证代码级的质量。单元测试会针对每一个特定的输入去判断和观察输出的结果,而单元测试的粒度则用来平衡持续集成的质量和速度。 持续集成的核心价值在于1: 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重

  • 它们还提供了一个警告:如果您能够持续部署到测试系统,有时也会使用术语“持续部署”。 这一切让我很困惑。任何更详细的解释(或附带一个例子)都是赞赏的!

  • 我为老东家的 CTO 部门工作的七年里,除了吃饭睡觉码代码,干的最多的事情就是布道。给工程师讲技术,给管理层讲业态,给客户讲故事。但让我很沮丧的是,在离职那天给我留言最多的一条,居然是「很遗憾,再也听不到你讲美食了」。好吧,虽然我们怀揣着改变世界的梦想踏上征程,却总是在路口的料理摊停下了脚步。这个插曲,就算是我这系列文章的引子。 每一个吃货的心里,都住着一个厨子。 每一个码农的心里,都憋着一个梦想

  • 介绍 持续交付是频繁对软件应用程序持续更新的概念. 这个想法使在大量频繁的更新面前, 你不必等待在一个指定的特殊时间点, 并且使你的组织在响应过程中变得更好. 一些 Ansible 用户每小时都在部署更新给他们的最终用户甚至更加频繁 – 每时每刻都有代码修改的批准. 要实现这一点, 你需要工具能在零停机的时间内快速的应用这些更新. 本文档详细介绍了如何现实这一目标, 使用 Ansible play

  • 从广义上讲,有web3j支持三种类型的以太坊交易: 1.以太币从一方交易到另一方 2.创建一个智能合约 3.与智能合约交易 为了进行这些交易,必须有以太币(以太坊区块链的代币)存在于交易发生的以太坊账户中。这是为了支付gas成本,这是为支付参与交易的以太坊客户端的交易执行成本,支付了这个成本就能将结果提交到以太坊区块链上。获得以太币的说明下文会说到。 此外,我们还可以查询智能合约的状态。

  • 问题内容: 我正在经历apache cassandra并从事示例数据插入,检索等工作。 该文档非常有限。 我有兴趣知道 我们可以用cassandra完全取代mysql / oracle之类的关系数据库吗? cassandra支持回滚/提交吗? cassandra客户端(节俭/ hector)是否支持获取关联的对象(将一个超级列的键保存在另一个超级列族中的对象)? 这将帮助我进一步前进。 先感谢您。