-
Notifications
You must be signed in to change notification settings - Fork 4
/
azure-pipelines.yml
49 lines (46 loc) · 1.49 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
pool:
vmImage: "ubuntu-latest"
variables:
RELEASE: ""
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.19.0"
displayName: "Install Node.js"
- task: Npm@1
inputs:
command: "install"
- script: |
echo -n "${DEVELOPMENT_ACCESSTOKEN}" > .env
condition: eq(variables['Build.Reason'], 'PullRequest')
- script: |
echo -n "${STAGING_ACCESSTOKEN}" > .env
condition: and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables.RELEASE, ''))
- script: |
echo -n "${PRODUCTION_ACCESSTOKEN}" > .env
condition: and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), not(eq(variables.RELEASE, '')))
- task: Npm@1
inputs:
command: "custom"
customCommand: "build"
- task: Npm@1
inputs:
command: "custom"
customCommand: "run lint"
- script: |
npx nyc --reporter cobertura --report-dir $(System.DefaultWorkingDirectory)/coverage npm run test
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: "Cobertura"
summaryFileLocation: "$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml"
failIfCoverageEmpty: true
- task: Docker@2
inputs:
command: "build"
Dockerfile: "**/Dockerfile"
buildContext: "**"
tags: "WCB:$(Build.BuildId)"