小编Mon*_*y34的帖子

检查是否存在Angular指令

我们在Angular项目中围绕动态指令做了很多工作,有一件事是作为一个有用的东西,有一种通用指令可以列出许多不同类型的类似对象(例如,消息) ,用户,评论等),通过委托基于对象类型的特定指令.

我们称之为object-list指令,如果我们能够正常工作,它将有希望委托给许多不同的指令.

我们需要解决的主要问题是object-list我们的系统中是否存在提供该指令的指令.我们检查这个的方法是发出一个$compile针对target指令,将它链接到一个作用域,并检查它的HTML内容(例如var tmpElement = $compile('<div my-message'></div>')(scope);).当template选项引用目标指令的模板时,这似乎有效,但是当我们改为指向a时templateUrl,HTML内容为空.

这是一个Plunker,templateUrl方法到位(不工作).您可以将其注释掉并取消注释该template行以查看警报显示.

http://plnkr.co/edit/wD4ZspbGSo68v4eRViTp

有没有其他方法来检查指令的存在?我承认,这似乎有点像黑客.

javascript angularjs

21
推荐指数
1
解决办法
1万
查看次数

使用Git将非合并功能分支合并到另一个功能分支中

我的公司有一个Git工作流程,看起来像这样:

  • 从pristine分支创建功能分支(我们使用称为"develop"的基本分支,但您可以将其视为"主")
  • 完成此功能分支中需要完成的工作,并提交更改
  • 偶尔,使用develop分支重新设置功能分支
  • 完成功能分支中的工作后,提交并推送到GitHub上的远程功能分支
  • 创建一个拉取请求,将您的功能分支合并到开发分支中,该分支由另一个开发人员进行代码审查
  • 代码检查完成后,功能分支将合并到开发分支中,并删除功能分支

这在您处理串行工作流程时有效,但是当您从功能分支推送更改并等待其他开发人员审核并合并您的更改时,您可能希望承担另一项工作,意味着重复上述过程.

在我们的例子中,我们目前正在从开发分支创建我们的功能分支,因此我刚刚完成的工作尚未可用(它仍处于不确定状态,等待由另一个开发人员合并到开发分支中).我的问题是,如果我在功能分支中所做的工作取决于我刚才在上一个功能分支中完成的工作,该怎么办?我是否应该从我尚未合并的功能分支而不是开发分支开始分支我的新功能分支?如果我已经从开发分支创建了我的新功能分支,那么从未合并分支中获取的更改就像git merge [unmerged-branch]在我的新分支中执行一样简单吗?

希望这个解释 - 以及工作流本身! - 说得通.我已经陷入了一些奇怪的情况,我不清楚我的代码状态,所以我试图找出一个工作流程,让我可以灵活地合并来自其他功能分支的更改,同时仍然可以获得任何上游更改时间.

git merge github

16
推荐指数
1
解决办法
2386
查看次数

具有多个 Terraform 配置的有效 GitLab CI/CD 工作流程?

我的团队将 AWS 用于我们的基础设施,跨越 3 个不同的 AWS 账户。我们将简单地给他们打电话sandboxstagingproduction

我最近针对我们的 AWS 基础设施设置了 Terraform,它的层次结构映射到我们的帐户,然后是应用程序或 AWS 服务本身。回购结构看起来像这样:

staging
  iam
    groups
      main.tf
    users
      main.tf
  s3
    main.tf
sandbox
  iam
    ...
production
  applications
    gitlab
      main.tf
  route53
    main.tf
  ...
Run Code Online (Sandbox Code Playgroud)

我们为每个 AWS 服务(例如,IAM 或 S3)或应用程序(例如,GitLab)使用单独的配置,因此我们最终不会在.tf每个帐户中生成庞大的文件,这需要很长时间才能为任何一项更改应用更新。理想情况下,我们希望摆脱基于服务的配置方法,转向更多基于应用程序的配置,但无论哪种方式,手头的问题都是一样的。

当从命令行手动应用更新时,这种方法一直运行良好,但我很想将它移动到 GitLab CI/CD 以更好地自动化我们的工作流程,而这正是问题所在。

在我现有的设置中,如果我对,比如说,做一个单一的改变staging/s3/main.tf,GitLab 似乎没有一个开箱即用的好方法来只运行terraform planterraform apply用于特定的配置。

如果我改为将所有内容移动到main.tf整个 AWS 帐户的单个文件中(或多个文件但与单个状态文件相关联),我可以简单地让 GitLab 触发一个作业planapply仅触发该配置。根据我们在每个账户中拥有的 AWS 资源数量,运行可能需要 15 分钟,但我认为这是一个潜在的选择。

似乎我的问题最终可能与 GitLab 如何处理“monorepos”有关,而不是与 Terraform 如何处理其工作流程有关(毕竟,如果我只是告诉它 …

continuous-integration gitlab terraform

1
推荐指数
1
解决办法
2027
查看次数