- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个 meteor 应用程序,它为不同的客户提供不同的分支。这是因为客户想要特别的东西。当然对吧?
我希望能够将该客户端的应用程序部署版本的 git 分支和标签/哈希放置在 UI 中的某处。
问题是如何?在 Meteor 中有没有办法获取这些信息并简单地使用它?
谢谢!
最佳答案
在我的生产应用程序中,我以这种方式解决了这个问题:
App/MeteorApp/hooks/post-commit-version
App
.git
hooks
post-commit (file)
MeteorApp
client
server
both
private
version.json
hooks
post-commit-version (file)
每当开发人员提交代码 .git/hooks/post-commit
时,它会执行存储在 App/MeteorApp/hooks/post-commit- 中的
。 nodejs 脚本
版本
脚本 post-commit-version
在 App/MeteorApp/private
目录中生成 version.json
格式:
{
"timestamp": "29-08-2014 23:16",
"branch": "master",
"commit": "3332f6dcbde57105a8dc353e5e878651cab89856"
}
存储在 private
中的所有内容都可供生产服务器访问。
version.json
?App/MeteorApp/both/collections/Version.js:
Version = new Meteor.Collection('version');
App/MeteorApp/server/startup.js
Meteor.startup(function(){
if (Version.find().count() > 0){
Version.remove({});
}
Version.insert(JSON.parse(Assets.getText("version.json")));
})
应用程序部署后,它将触发 startup
回调,版本将插入集合 Version
。
App/MeteorApp/server/publish/version.js:
Meteor.publish('version', function () {
return Version.find();
});
App/MeteorApp/client/startup.js:
Meteor.startup(function(){
Meteor.subscribe("version");
})
然后在模板的某处简单地创建助手:
Template.template_name.helpers({
version:function(){
return Version.findOne();
}
})
在 template_name 中,您使用 {{version.commit}}
{{version.branch}}
{{version.timestamp}}
显示版本>.
脚本 post-commit-version
没有 js
扩展名,因为我不希望 meteor 每次都将它包含在 bundle 中或在开发中重新加载应用程序改变这个文件。但是,当该文件存储在 .dir
中时,可以使用 post-commit-version.js
(如 App/MeteorApp/.hooks
) 因为以 .
作为第一个字符的目录不会被 meteor 处理。
另一种可能性是在服务器端加载 version.json
Meteor.startup
,解析 json 并附加到全局变量,如 App.version
.稍后将其与 Meteor.method
一起使用:
Meteor.methods({
getVersion:function(){
return App.version;
}
})
在客户端你只需调用方法:
Meteor.call("getVersion", function(error,version){
if(error) {
throw new Error("Cannot get version");
return;
}
Session.set("version",version)
})
一些模板的助手可以使用它:
Template.template_name.helpers({
version:function(){
return Session.get("version");
}
})
关于git - 如何将我的 Meteor 应用程序版本号放在 UI 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796533/
情况我想使用 ui-date 在我的应用程序中设置/编辑日期。我使用最新稳定版本的 Angular、Angular-UI、JQuery-UI 等。 问题一旦使用日期选择器选择了日期,我的模型中的日期将
编辑: jQuery UI 可选择小部件内置了一个回调,stop,我需要知道如何以编程方式触发此事件。 (措辞不佳)我已将事件监听器附加到 jQuery UI Selectable Widget 。如
我正在尝试建立一个下一个JS与尾风用户界面提供的反应组件的网络应用程序。顺风用户界面是在幕后使用无头用户界面。。默认情况下,Next JS将构建服务器端组件,除非您在页面顶部添加“使用客户端”。不幸的
我正在尝试建立一个下一个JS与尾风用户界面提供的反应组件的网络应用程序。顺风用户界面是在幕后使用无头用户界面。。默认情况下,Next JS将构建服务器端组件,除非您在页面顶部添加“使用客户端”。不幸的
我正在尝试应用这个 SlickGrid 示例: http://mleibman.github.com/SlickGrid/examples/example4-model.html 到我自己的网络项目。
我想整理我的 Schemas为我的实体类生成,DTO 类位于 Springdoc ui . 我可以对 tags 进行排序和 operations通过以下配置 yml文件,但我的模式不是按排序顺序排列的
有谁知道阻止 ui-sref 重新加载状态的方法吗? 我无法通过“$stateChangeStart”事件执行此操作,因为 ui-sref 仅更改参数而不更改状态名称。 我的左边是书单,左边是书的详细
我正在 jquery ui 对话框中使用 jquery ui 自动完成小部件。当我输入搜索文本时,文本框缩进(ui-autocomplet-loading)但不显示任何建议。 var availabl
我正在尝试将 Kendo UI MVVM 框架与 Kendo UI 拖放机制结合使用;但我很难找到如何将数据从 draggable 对象中删除。 我的代码是这样的...... var viewMode
Kendo UI Web 和 Kendo UI Core 之间有什么区别 https://www.nuget.org/packages/KendoUIWeb http://www.nuget.org/
我正在尝试将 Kendo UI MVVM 框架与 Kendo UI 拖放机制结合使用;但是我很难找到如何从 draggable 对象中删除数据。 我的代码是这样的…… var viewModel =
使用 Angular JS - UI 路由器,我需要从我的父 View project.details 到我的 subview project.details.tasks 进行通信。我的 subvie
KendoUI 版本 2013.3.1119使用 Kendo MVVM 我有一个我构建的颜色选择器,它使用平面颜色选择器和使用调色板的颜色选择器。它们都可以正常运行,但平面颜色选择器的布局已关闭, s
我在非 UI 线程上,我需要创建并显示一个 SaveDialog。但是当我尝试显示它时:.ShowDialog() 我得到: "An unhandled exception of type 'Syst
我正在试验 jquery-ui 并查看和克隆一些示例。在一个示例(自动完成的组合框)中,我看到一个带有 ui-widget 类的 anchor (a) 元素,它与包含的 css 文件中的 .ui-wi
我需要返回一个 UI 列表,我用这个方法: getList(): Observable { return this.httpClient.get("/api/listui").pipe
我有 ui-grids在 angular-ui-tabs ,它们位于 ng-if 中以避免呈现问题。如果有更多数据并且网格进入滚动模式,则单击选项卡时数据会完全消失。我相信这是一个 ui-grids-
这似乎是一个通用的问题,与其他几个 React 开源框架相比,我真的很喜欢 Material ui 的可扩展性。 问题 “@material-ui/core”和“@material-ui/lab”中的
我有一个根页面(index.html),带有侧边栏(“菜单”)和主要内容 div(“主”),因此有两个 ui-view div - 一个称为“菜单”,一个称为“主”。 当主要内容区域有网站列表 (/s
有人在http://jsfiddle.net/hKYWr/上整理了一个很好的 fiddle 。关于使用 angular-ui 和 jqueryui sortable 来获得良好的可排序效果。 如何在两
我是一名优秀的程序员,十分优秀!