使用Rails + Capistrano与Github和多个分支(Using Rails + Capistrano with Github and multiple branches)
在我的Rails应用程序中,我使用的是Git,GitHub和Capistrano。 我们有2台服务器(升级和生产)。
到目前为止,我将在本地计算机上进行代码更改并将其推送到GitHub,然后在部署期间,Capistrano将从GitHub复制到任一服务器。
现在我开始使用Git分支。 我在我的机器上创建了2个分支,
dev
和prod
。 我是目前唯一的开发者。 我目前在GitHub上只有分支主机。问题:
1)我应该在现有的GitHub rpo上创建
dev
和prod
分支,还是应该有一个单独的GitHub仓库用于分期和生产?2)如果我添加分支,我怎么告诉Capistrano使用
dev
分支进行分段和prod
分支进行生产?3)如果使用单独的回购,我如何将分支推到右边?
In my Rails app, I'm using Git, GitHub, and Capistrano. We have 2 servers (staging and production).
Up to now, I would make code changes on my local machine and push them to GitHub, then during deployment Capistrano would copy to either server from GitHub.
Now I have started using branches with Git. I created 2 branches locally on my machine,
dev
andprod
. I'm the only developer at this point. I currently only have the branch master on GitHub.Questions:
1) Should I create the
dev
andprod
branches on the existing GitHub rpo or should I have a separate GitHub repo for staging and production?2) If I do add branches, how would I tell Capistrano to use the
dev
branch for staging and theprod
branch for production?3) If using separate repos, how do I push a branch to the right one?
原文:https://stackoverflow.com/questions/16303498
最满意答案
你可以像这样使用Angular的
Output
装饰器:import { EventEmitter, Output } from '@angular/core'; @Output() updateView = new EventEmitter(); public create(name, description, archived, selectedParents): void { http.post.subscribe(() => { this.messageService.success('Worked'); //here the other component should call the get method and refresh the page afterwards this.updateView.emit(); }, () => { this.messageService.error('Error'); });; }
最后在你的“其他组件”模板中,你会得到这个:
<app-insert-page (updateView)="otherComponentGetMethod()"></app-insert-page>
更多信息在这里 。
You can use Angular's
Output
decorator like this:import { EventEmitter, Output } from '@angular/core'; @Output() updateView = new EventEmitter(); public create(name, description, archived, selectedParents): void { http.post.subscribe(() => { this.messageService.success('Worked'); //here the other component should call the get method and refresh the page afterwards this.updateView.emit(); }, () => { this.messageService.error('Error'); });; }
finally in your "other component" template, you would have this:
<app-insert-page (updateView)="otherComponentGetMethod()"></app-insert-page>
More info here.
相关问答
更多-
Angular 2将@Component插入到另一个组件的DOM中(Angular 2 insert a @Component into the DOM of another component)[2023-01-01]
这是一个带有ComponentFactoryResolver的Plunker示例 首先你必须正确地注册你的动态组件TestPage app.module.ts @NgModule({ declarations: [MainPage, TestPage], entryComponents: [TestPage] }) 备选方案 声明dynamic-module.ts import { NgModule, ANALYZE_FOR_ENTRY_COMPONENTS } from '@angular/co ... -
出于某种原因,在显示DOM后没有立即更新, setTimeout例如10)就是这样做的。 For some reason, the DOM was not updated right after it was shown so, a setTimeout e.g. 10 did the trick.
-
你可以像这样使用Angular的Output装饰器: import { EventEmitter, Output } from '@angular/core'; @Output() updateView = new EventEmitter(); public create(name, description, archived, selectedParents): void { http.post.subscribe(() => { this.messageService.success('Wor ...
-
因为你有这个 var routes : Routes = [ { path: 'home', component: AppComponent }, { path: '', pathMatch: 'full', redirectTo: 'home' }, ] 和这个 template: `
Hello {{name}}
从ProductFilterComponent创建用于订阅事件的新服务。 import { Injectable } from '@angular/core'; import { Observable, Subject, ReplaySubject } from 'rxjs'; @Injectable() export class EventSubscribeService { private eventSubject: Subject= new ReplaySubject(1); ... Angular 4 + primeng:将HTML内容从组件传递到另一个组件(Angular 4 + primeng : pass HTML content from a component to another)[2023-08-21]
你可以像这样在pagin-datatable.component.html中使用试试下面, .... this.router.navigate(['personal', id]); .... constructor(route: ActivatedRoute, router: Router){ this.route.params.subscribe(param => { // this will be fired when you change the guid, // use the new param to reload component.. ...这是因为你的网络服务器。 这个“问题”有很多问题。 您向本地主机发送请求:3000 /消耗。 网络服务器将尝试查看consumption文件夹以查找index.html文件。 但是没有。 您有两个选择,可以更改为HashLocationStrategy ,也可以设置您的本地Web服务器,使得所有导致404的请求都重定向到根index.html 。 第三个选择是使用lite-server作为本地开发的节点web服务器,或angular-cli 。 这些内置了这个功能 It's because of your ...在angular 2中,你需要有一个Root组件,它将用于自举,并将在index.html中呈现。 其他组件,服务需要在modules.ts中导入和声明。例如:下面的示例应用程序有三个组件:Parent,App和New App。 在modules.ts文件中,您需要导入所有组件并在NgModules中声明。 在它下面是bootstrapping Parent组件。 Modules.ts import { BrowserModule } from '@angular/platform-browser'; im ...从Harry_Ninh的出色建议来看,这就是我想到的,允许在不使用@Input和任何组件选择器的情况下进行组件之间的通信: 在我的服务中,我添加了一个主题,允许父母宣布进行了搜索: @Injectable() export class ChipFamilyService { private searchStringSubject = new Subject(); private _searchUrl = 'http://localhost:8888/chipfamily/'; ... 相关文章
更多- Rails常用插件
- Rails 风格指导
- 顶 使用Rails plugin weixin_rails_middleware 快速搭建微信营销平台
- Rails4 已经移出了params可以解析xml的功能,拿rails4做微信API的童鞋们注意了
- rails 单元测试
- Rails中的路由功能是如何对应的?
- 使用GitHub-git入门教程
- GitHub项目Storm-HBase介绍
- rails model的一点疑惑。。。。。
- 配置sunspot tomcat结合sunspot_rails
最新问答
更多- 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
- TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
- 企业安全培训的各项内容
- 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
- NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
- 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
- 将多个行和可变行移动到列(moving multiple and variable rows to columns)
- 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
- Angular $资源不会改变方法(Angular $resource doesn't change method)
- 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
- 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
- Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
- 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)
- 是否可以嵌套hazelcast IMaps?(Is it possible to nest hazelcast IMaps? And whick side effects can I expect? Is it a good Idea anyway?)
- UIViewAnimationOptionRepeat在两个动画之间暂停(UIViewAnimationOptionRepeat pausing in between two animations)
- 在x-kendo-template中使用Razor查询(Using Razor query within x-kendo-template)
- 在BeautifulSoup中替换文本而不转义(Replace text without escaping in BeautifulSoup)
- 如何在存根或模拟不存在的方法时配置Rspec以引发错误?(How can I configure Rspec to raise error when stubbing or mocking non-existing methods?)
- asp用javascript(asp with javascript)
- “%()s”在sql查询中的含义是什么?(What does “%()s” means in sql query?)
- 如何为其编辑的内容提供自定义UITableViewCell上下文?(How to give a custom UITableViewCell context of what it is editing?)
- c ++十进制到二进制,然后使用操作,然后回到十进制(c++ Decimal to binary, then use operation, then back to decimal)
- 以编程方式创建视频?(Create videos programmatically?)
- 无法在BeautifulSoup中正确解析数据(Unable to parse data correctly in BeautifulSoup)
- webform和mvc的区别 知乎
- 如何使用wadl2java生成REST服务模板,其中POST / PUT方法具有参数?(How do you generate REST service template with wadl2java where POST/PUT methods have parameters?)
- 我无法理解我的travis构建有什么问题(I am having trouble understanding what is wrong with my travis build)
- iOS9 Scope Bar出现在Search Bar后面或旁边(iOS9 Scope Bar appears either behind or beside Search Bar)
- 为什么开机慢上面还显示;Inetrnet,Explorer
- 有关调用远程WCF服务的超时问题(Timeout Question about Invoking a Remote WCF Service)