Files
Homepage/Jenkinsfile
2023-06-15 22:28:37 -04:00

66 lines
1.5 KiB
Groovy

pipeline {
agent {
dockerfile {
filename 'Dockerfile.jenkins'
dir '.'
args '-e CHROME_BIN=/bin/chromium -e NG_CLI_ANALYTICS="false"'
}
}
stages {
stage('setup') {
steps {
sh 'npm install'
}
}
stage('build') {
steps {
sh 'node_modules/.bin/ng build --prod'
}
}
stage('lint') {
steps {
sh 'node_modules/.bin/ng lint'
}
}
stage('test') {
steps {
sh 'node_modules/.bin/ng test --watch=false --progress=false --browsers=ChromeHeadlessCI'
}
}
stage('deploy') {
when { branch 'master' }
steps {
echo 'Deploying'
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'droplet-ssh',
verbose: true,
transfers: [
sshTransfer(
sourceFiles: 'dist/Homepage/**',
removePrefix: 'dist/Homepage',
remoteDirectory: 'html',
cleanRemote: true,
execCommand: 'echo Finished'
)
]
)
]
)
}
}
}
post {
always {
archiveArtifacts artifacts: 'dist/Homepage/**', fingerprint: true
junit 'src/junit-report/**/*.xml'
}
}
}