这是最后我们对trackr系列的一部分。在过去的两的博文中,我们已经向您展示我们使用的工具和框架构建后端和前端。如果你错过了前面的帖子现在你可能会想读他们赶上来.

在本帖里,我们将强调整个开发过程并给出一些见解对我们使用的工具。

Development Process

我们使用Confluence来outline我们的需求,这是一个超屌的工具,广泛的规范,它还增加了协作功能。所以每个人都可以看到和评论的需求,直到一切都被定义。这也是一个好地方用来放线框图。

基于规范我们创建了多个更小的用户描述可以实现。在开发过程中我们当然想遵循敏捷方法。因为我们无法坚持一个固定的时间,我们决定使用看板而不是Scrum。在JIRA我们已经建立了一个敏捷看板来跟踪进展。在这里你可以看到我们的快照trackr看板在开发过程中。

未来我们使用Git作为SCM。我们唯一的中央仓库在GitHub。因为我们的团队仍然相当小的我们还没有想到一个非常复杂的工作流。我们遵循的原则有一个主分支,总是指向最新的生产版本,一个发展分支的特性和分支机构(可能是本地的)功能。

我们没有提交任何前端或后端依赖Git。虽然the trouble we had with Bower之后也许会是一个好主意来提交这些依赖关系。

除此之外,我不认为有太多要说的关于trackr和Git-一旦你精通它,它不会妨碍你的。

Continuous Integration

我们想要一个trackr持续集成方法。在一个功能是构建服务器合并到开发分支应该看看变化,运行所有测试,构建构件并将其部署到我们的测试系统。我们想尝试一些除了Jenkins,决定使用Jetbrains的 TeamCity。   

给TeamCity源代码后发现build.gradle文件并立即提出了一个Gradle 构建。我们只有设置目标和TeamCity很好去。因为我们使用了Gradle包装我们没有重新安装它。

对于前端来讲,GruntKarma 和 Bower是必要的但只是在构建配置的路径里。   

所有其他分支机构只是测试,不用build。

That is our build overview.

使用这个插件plugin for Karma 甚至可以把 Javascript tests报告给TeamCity.

部署是通过Gradle无缝地工作。

TeamCity也将很好地集成到IntelliJ IDEA。你可以订阅构建和得到通知。如果如构建失败,它甚至会发送异常堆栈轨迹IDE。理论上远程调试应该工作,但是我们不能让它跑了。此外,TeamCity和JIRA GitHub库连接。因此我们可以把问题提交的消息数量工具会处理他们和显示额外的信息。总之我们没有推动TeamCity其局限性,但它很好地为我们服务。

对于Javascript我们已经用JSHint涵盖一些代码质量检查,而对于java,我们决定 SonarQube。Java 8支持24.3.2014只是包含在这个星期,所以我们必须等到。只有一个插件,一般Java插件支持Java 8,PMD仍然不工作。可能最有趣的Java检查在这个插件,所以最终我们从Sonar没有得到太多。

由于我们的持续集成测试系统总是反映了最近的应用程序的状态。每个人都可以登录和经验为自己最近的特性。但是为了生成容易分享短电影,莫里茨开始创建小动画GIF文件使用QuickTimePlayer OSX记录屏幕的一部分,然后ffmpeg电影文件转换为GIF和ImageMagick转换为优化它的大小。webm(希望)使用以下命令在角落。我们分享视频imgur或嵌入到自己的网站使用HTML5视频标签。

ffmpeg + convert
ffmpeg -i movie.mov -r 15 movie.gif
convert movie.gif -layers Optimize movie_optimized.gif
# or webm, assuming the libvpx-720p preset is present
ffmpeg -i movie.mov -vpre libvpx-720p -b 2500k -an -f webm -y movie.webm

  

Database Migrations

我们使用Flyway来管理我们的数据库变更。通过使用flyway,我们可以提供所有相关的SQL脚本模式变化和应用这些Flyway照顾。这有助于保持不同的环境同步。Flyway脚本顺序枚举所以Flyway可以找出必须应用这些脚本的顺序。它还不断的引用最近应用脚本应用所以只有更新的脚本.

我们仍然做实际的手动部署。虽然对我们来说,这是容易出错的工作(比如有人忘记调用Flyway之前的部署)。因此我们正在一个工具来自动化部署到我们的环境。第一个版本已经存在,我们就将开放源码工具已经达到一个稳定状态。所以请继续关注!

想加入团队吗?我们正在招聘!

我们在不断地寻找新的小伙伴来加入我们的团队。如果到目前为止你喜欢你所读的,那么快到碗里来- job board or drop us a line!

该系列源码:

https://github.com/techdev-solutions/trackr-frontend

https://github.com/techdev-solutions/trackr-backend

trackr: An AngularJS app with a Java 8 backend – Part III的更多相关文章

  1. trackr: An AngularJS app with a Java 8 backend – Part II

    该系列文章来自techdev The Frontend 在本系列的第一部分我们已经描述RESTful端建立在Java 8和Spring.这一部分将介绍我们的第一个用 AngularJS建造的客户端应用 ...

  2. trackr: An AngularJS app with a Java 8 backend – Part I

    该系列文章来自techdev 我想分享在techdev公司开发的项目-trackr-的一些最新的见解.trackr是一个用来跟踪我们的工作时间,创建报告和管理请假的web应用程序.做这个程序的目的有两 ...

  3. trackr: An AngularJS app with a Java 8 backend – Part IV 实践篇

    REST API对于前后端或后端与后端之间通讯是一个好的接口,而单页应用Single Page Applications (SPA)非常流行. 我们依然以trackr为案例,这是一个跟踪工作时间 请假 ...

  4. 2.1:你的第一个AngularJS App

    本章,带你体验一个简单的开发流程,将一个静态的使用模拟数据的应用,变成具有AngularJS特性的动态web应用.在6-8章,作者将展示如何创建一个更复杂,更真实的AngularJS应用. 1.准备项 ...

  5. eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN

    eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...

  6. ASP.NET Web API 2 external logins with Facebook and Google in AngularJS app

    转载:http://bitoftech.net/2014/08/11/asp-net-web-api-2-external-logins-social-logins-facebook-google-a ...

  7. IOS IAP APP内支付 Java服务端代码

    IOS IAP APP内支付 Java服务端代码   场景:作为后台需要为app提供服务,在ios中,app内进行支付购买时需要进行二次验证. 基础:可以参考上一篇转载的博文In-App Purcha ...

  8. APP接口自动化测试JAVA+TestNG(一)之框架环境搭建

    前言 好久不曾写点啥,去年换到新公司组测试团队与培养建设花费大量时间与精力,终于架构成型与稳定有时间可以打打酱油了.很久没有总结点啥,提笔想写的内容太多,先放APP接口自动化的内容吧,这个估计大家比较 ...

  9. 微信APP支付(Java后台生成签名具体步骤)

    public class PayCommonUtil { //定义签名,微信根据参数字段的ASCII码值进行排序 加密签名,故使用SortMap进行参数排序 public static String ...

随机推荐

  1. Eclipse常用功能

    功能(Functions):内置运行java程序的插件(JDT:java develop tools)工作集(WorkSet)(Task list)计划任务管理器(Mylyn)系统配置(Prefere ...

  2. linux 错误总结

    帝国cms登录后台提示“登录成功”,接着又提示“您还未登录” 把帝国cms文件夹下的/e/data/adminlogin 目录权限不可写导致,请将此目录权限设置为777权限即可解决.就可以正常登录后台 ...

  3. 3563: DZY Loves Chinese - BZOJ

    Description神校XJ之学霸兮,Dzy皇考曰JC.摄提贞于孟陬兮,惟庚寅Dzy以降.纷Dzy既有此内美兮,又重之以修能.遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图,其上有N座祭 ...

  4. 2109&2535: [Noi2010]Plane 航空管制 - BZOJ

    Description世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上, ...

  5. "Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b7

    1.错误背景 系统安装了.net framework4.0.4.5,项目先使用VS2013(4.5)开发,后来又重新用VS2010开发(4.0),运行时出现这个错误 2.错误原因 In .Net 4. ...

  6. HDOJ 3547 DIY Cube 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3547 题目大意:求用$C$种颜色给立方体的8个顶点染色的本质不同的方法.两种方法本质不同即不能通过旋转 ...

  7. 【BZOJ】【1026】【SCOI2009】Windy数

    数位DP cxlove基础数位DP第三题 = =预处理是个很有用的东西!然后就是分类讨论! /***************************************************** ...

  8. select()2

    只要接触过c/c++网路编程人都可能会知道select io 模式,网络书籍都说 fd_set {]} 有所限制,因为数组的长度只有64,那么超过64你就不能放,要么你就是用多线程分别实用select ...

  9. tomcat 解析(五)-Tomcat的核心组成和启动过程

    声明:源码版本为Tomcat 6.0.35 前面的文章中介绍了Tomcat的基本配置,每个配置项也基本上对应了Tomcat的组件结构,如果要用一张图来形象展现一下Tomcat组成的话,整个Tomcat ...

  10. NData BUG 记录

    一.collection 如果设计如下页面 页面模型如下 using UnityEngine; using System.Collections; using System.Collections.G ...