NO END FOR LEARNING

Writing blog if you feel tired | 学海无涯 苦写博客

Rails环境和Capistrano部署

| Comments

默认情况下,Rails 提供了三个环境:开发(development),测试(test)和生产(production)。这三个环境能满足大多数需求,但有时需要更多的环境。

假设有个服务器镜像了生产环境,但只用于测试。这种服务器一般叫做“交付准备服务器”(staging server)。要想为这个服务器定义一个名为“staging”的环境,新建文件 config/environments/staging.rb 即可。请使用 config/environments 文件夹中的任一文件作为模板,以此为基础修改设置。

在持续集成开发的场景下,除了开发环境(提供给Dev的验证环境),测试环境(提供QA的测试环境),一般还会有一个UAT环境(用户验收测试环境 - User Acceptance Test),它是离生产环境最近的一个预备环境,就像上面所说的staging。

通过Rails Server命令启动环境,默认是development。

1
2
3
4
5
6
7
8
=> Booting Puma
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Puma 2.11.1 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:3000

切换不同的环境启动可以通过参数-e

1
rails server -e production -p 4000

《实战Gradle》译者序

| Comments

Alt text

在京东搜索《实战Gradle》

在淘宝搜索《实战Gradle》

在亚马逊搜索《实战Gradle》

在当当网搜索《实战Gradle》

内容简介

Gradle是Java软件开发中的自动化构建工具,类似的传统工具如Ant和Maven。Gradle吸收或沿用了Maven中比较成功的一些实践,但相对于Maven或Ant又有极强的扩展。

《Gradle in Action》一书全方位的讲解了Gradle这一工具相关的知识,包括Gradle的基本知识,自动化构建的基本概念和最佳实践,以实际案例的方式解释如何使用Gradle进行软件项目构建。

除了基础知识外,由于软件开发绝对不仅仅是实现业务逻辑代码,书中还介绍了一些解决软件开发中常见问题的实践,如多语言,多项目构建,Gradle在持续集成和持续交付中的应用,Gradle构建JVM其他语言,以及Gradle集成Javascript构建等。 云计算和DevOps的兴起,给软件行业带来了翻天覆地的变化,书中对于云计算平台,开源社区中的一些工具与Gradle的结合使用也做了相关的介绍。

因为Groovy用于编写Gradle构建配置的DSL,所以为了帮助读者更好的理解Gradle,本书还讲解了Groovy的基本知识,虽然不足以全方位的讲解Groovy,但是理解Gradle足矣。

译者序

提到自动化构建,你能想到的是什么?是经典的make脚本语言?是曾经统治了Java构建世界的Ant?或者是颠覆了Ant统治地位的Maven? 抑或是即将也正在颠覆Maven的Gradle?不管你想到的哪一个,如果你还在使用Java语言开发软件,那Gradle将是你工具箱中必不可少的一样利器。而《Gradle in Action》将可能是你不可或缺的教材,或者参考书。

第一次接触到Gradle是加入ThoughtWorks的第一个项目,从此以后,我几乎认为Gradle应该是一个Java软件项目的标配,是每一个Java程序员都应该了如指掌的东西。本书结合简单实用的案例,由浅入深地讲解Gradle,正是我在学习Gradle时所希望拥有的一本教材,所以我便欣然接受并参与此书的翻译工作。希望本书能帮助所有将软件质量和开发效率视为软件项目中不可或缺的一环的程序员,把软件开发带到另一个高度。

虽然本书是Gradle的一本实用指南,但本书不仅仅局限于此。软件构建在现代软件开发过程中并不是独立工作的,开发人员通常面临的问题还包括持续集成,持续交付,以及云平台下的基础设施搭建,多语言项目构建等。本书还对如何结合Gradle解决此类问题以及一些常用的工具有一定的说明,如用于持续集成和交付的Jenkins,虚拟化技术工具vagrant等。Groovy语言用于实现Gradle DSL,因此理解基础的Groovy语言对理解Gradle也有极大的帮助,因此本书对Gradle语言的基本功能也做了讲解。

与另外两位同事合作翻译此书的过程,并非一帆风顺,由于物理位置的不同,使得沟通变得困难,我们不得不采用通读对方译文的形式使各自的行文风格尽量保持一致。但这同时也是一个充实有趣的过程,想要把一个单词或一句话翻译的精准到位从而反复推敲,有些技术语言如果直译又会生硬难懂,我们得寻求适合中文的准确表达方式。这些过程无疑是翻译中最大的趣味所在。在这里我想感谢朱本威和杨柳的智慧结晶,感谢出版社同事的辛勤劳作,感谢滕云的严格审校,更感谢Benjamin为Gradle社区带来如此优秀的读物。

博主评论:

朱本威,Java/Ruby软件开发工程师,Gradle系列博客Gradle深入与实战,《实战Gradle》译者之一

《实战Gradle》是一本既适合初学者,也适合有经验人员的经典参考书。它以故事的方式,简单而生动的解释了软件开发对构建的刚需,对比了Gradle的前辈Ant、Maven的优缺点,详细的介绍了Gradle优秀的特性集,并通过范例的方式生动的介绍了如何使用Gradle,是一本不可多得的优秀的Gradle书籍。 - 朱本威