首页 > 解决方案 > 如何为 SimpleSynthAction.standardNpmSynth 操作指定角色

问题描述

CDK 将为管道中的每个操作生成新角色。我想对所有操作使用管道角色。

我可以CodeCommitSourceAction通过指定role属性来做到这一点。

    const sourceActionProps = {
      actionName: "CodeCommit",
      output: sourceArtifact,
      repository: repo,
      branch: code_repo_branch,
      role: role,
    };

    return new codepipeline_actions.CodeCommitSourceAction(sourceActionProps);

但是 没有类似的性质SimpleSynthAction.standardNpmSynth

pipelines.SimpleSynthAction.standardNpmSynth({
      sourceArtifact,
      cloudAssemblyArtifact,
      installCommand: "npm install --include=dev",
      buildCommand: "npm run build",
      environment: {
        privileged: true,
      },
    });

有解决方法吗?谢谢。

标签: amazon-web-servicesaws-cdk

解决方案


您可以通过将基础项目保存到变量并更新project属性来修改它。

所以

var synthAction = pipelines.SimpleSynthAction.standardNpmSynth(...)
synthAction.project.addToRolePolicy(<policyStatement>)

或者修改project.role属性以完全改变角色。


推荐阅读