假设我编写了一个 jQuery 插件并将其添加到我的存储库(在我的例子中是 Mercurial)。它是单个文件,比如 jquery.plugin.js。我正在使用 BitBucket 来管理这个存储库,其功能之一是下载页面。因此,我将 jquery.plugin.js 添加为下载之一。
现在我想提供我的插件的缩小版本,但我不确定最佳做法是什么。我知道它应该作为 jquery.plugin.min.js 在下载页面上可用,但我是否也应该在每次更新它时对其进行版本控制以反射(reflect)未缩小的版本?
我看到版本控制缩小版本的最明显问题是,每次我对未缩小版本进行更改时,我可能会忘记更新它。
那么,我应该对缩小文件进行版本控制吗?
最佳答案
不,您不需要将生成的最小化版本置于源代码管理之下。
我们在将生成的文件添加到源代码管理 (TFS) 时遇到了问题,因为 TFS 将本地文件设置为只读的方式。在构建过程中生成文件的工具会出现写入访问问题(这可能不是其他版本控制系统的问题)。
但重要的是,所有:
以及构建、测试和部署产品所需的任何其他内容都应受版本控制。
您应该能够从源代码控制中 check out 特定版本(通过标记或修订号或等效项)并重新创建与当时完全相同的软件。即使在"new"机器上。
构建不应依赖于任何不受源代码控制的东西。
脚本:构建脚本,无论是 ant、make、MSBuild 命令文件还是您正在使用的任何内容,以及您可能需要受版本控制的任何部署脚本——而不仅仅是在构建机器上。
工具:这意味着编译器、最小化器、测试框架——构建、测试和部署脚本正常工作所需的一切——都应该在源代码控制之下。您需要这些工具的确切版本才能重新创建到某个时间点。
这本书 ' Continuous Delivery ' 教会了我这一课 - 我强烈推荐它。
虽然我相信这是一个好主意 - 并尽可能坚持它 - 但在某些方面我不是 100% 确定。例如操作系统、Java JDK 和持续集成工具(我们使用的是 Jenkins)。
您实现持续集成吗?这是测试您是否控制了上述所有内容的好方法。如果您必须在持续集成机器上进行任何手动安装才能构建软件,则可能是出了什么问题。
关于javascript - 我应该对我的 jQuery 插件的缩小版本进行版本控制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854845/
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el