resources: repositories: - repository: MyRepo type: git name: MyProject/MyRepo trigger: branches: - master tags: - v*
确认提交的唯一性,以避免重复提交。如使用“--force”强制提交就可能会发生重复提交的问题。
在管道中使用缓存,可以减少不必要的重复运行。可以参考以下代码示例:
steps:
task: [email protected] inputs: key: 'node | "$(Agent.OS)" | **/package-lock.json' restoreKeys: 'node | "$(Agent.OS)"' displayName: 'npm ci'
task: [email protected] inputs: key: 'node | "$(Agent.OS)" | **/*.js' restoreKeys: 'node | "$(Agent.OS)" # this creates a restore key for node, which allows us to preserve node_modules across pipeline runs regardless of whether we've updated our dependencies. displayName: 'npm run build' condition: ne(variables['Build.Reason'], 'PullRequest') # we only want to build from code changes in the master branch
task: [email protected] inputs: key: 'node | "$(Agent.OS)" | **/node_modules' restoreKeys: 'node | "$(Agent.OS)"' displayName: 'npm pack' condition: ne(variables['Build.Reason'], 'PullRequest') # we only want to build from code changes in the master branch
task: [email protected] inputs: packageType: 'npm' versionSpec: '$(PackageVersion)' feed: 'MyFeed' projectName: 'MyProject' description: 'Package description' displayName: 'npm publish'