ideploy 是为前端团队构建部署工程化而开发的一个持续交付平台。我们根据团队人员,项目增长而面临的越来越多在构建,交付等日常工作中的痛点,设计了很多特有而简单易用的功能,节省了团队很多构建部署的协调和 copy 体力工作,极大的提升了团队的开发效率。随着功能的完善,觉得这个系统可以帮助很多类似我们这样成长中的前端团队(当然系统其实也是支持 java、php 等项目的部署的,通过插件编写也可以支持 go 甚至更多语言的构建部署)实现快速构建,快速部署,放心上线。
开发语言: nodejs
数据库: mysql
后端框架: thinkjs
前端js框架 react
前端ui框架 ant.design
git clone xxxxx.git 代码到本地
安装nodejs 依赖:在根目录下运行npm install
安装ansible (依赖ansible做部署前后的命令行执行)
安装mysql 数据库,这里就不展开讲了,具体请参考:mysql文档
新建一个数据库(名字自己取一个就行,比如fe_build),并且开放足够的访问权限,具体可以参考mysql文档
代码,通知邮件等访问权限配置:
由于构建部署系统需要从代码仓库(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的权限
代码编译,启动
输入命令以下命令进行编译:
npm run build
编译完成,运行以下名命令启动:
npm run start
也可以用forever或者pm2来管理服务,以forever为例:
npm install -g forever
项目内置了forever的启动和停止脚本:
./start.sh ./stop.sh
服务器起来以后,我们直接访问
页面自动跳到登录注册页面,说明启动成功:
导入数据库脚本,生成数据库基础表结构 这一步主要是为系统运行创建需要的数据库表,为了方便大家使用,项目提供了一个web程序来建立表结构,直接输入:
会出现如下界面,点击‘确定导入数据库表’生成数据库。
当然,也可以通过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)是否支持获取关联的对象(将一个超级列的键保存在另一个超级列族中的对象)? 这将帮助我进一步前进。 先感谢您。