52 lines
No EOL
1.4 KiB
YAML
52 lines
No EOL
1.4 KiB
YAML
# 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
|
|
|
|
trigger:
|
|
- master
|
|
|
|
pool: #Default
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '16.x'
|
|
displayName: 'Install Node.js'
|
|
|
|
- script: |
|
|
npm install
|
|
npm run build
|
|
rm -rf node_modules
|
|
displayName: 'npm install and build'
|
|
- task: ArchiveFiles@2
|
|
inputs:
|
|
rootFolderOrFile: './'
|
|
includeRootFolder: false
|
|
archiveType: 'zip'
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
|
|
replaceExistingArchive: true
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
|
|
ArtifactName: '$(Build.BuildId).zip'
|
|
publishLocation: 'Container'
|
|
|
|
- task: CopyFilesOverSSH@0
|
|
inputs:
|
|
sshEndpoint: 'NGWEB1'
|
|
sourceFolder: '$(Build.ArtifactStagingDirectory)'
|
|
contents: '$(Build.BuildId).zip'
|
|
targetFolder: '/apps/tgd/service'
|
|
cleanTargetFolder: true
|
|
readyTimeout: '20000'
|
|
#- task: SSH@0
|
|
# inputs:
|
|
# sshEndpoint: 'NGWEB1'
|
|
# runOptions: 'inline'
|
|
# inline: |
|
|
# unzip -qo /apps/tgd/service/$(Build.BuildId).zip -d /apps/tgd/service/
|
|
# rm -f /apps/tgd/service/$(Build.BuildId).zip
|
|
# cd /apps/tgd/service && npm install >/dev/null 2>&1
|
|
# pm2 restart tgd-service
|
|
# readyTimeout: '20000' |