81
Jenkinsfile
vendored
Normal file
81
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
@Library('fisker') _
|
||||
|
||||
pipeline {
|
||||
agent none
|
||||
options {
|
||||
ansiColor('xterm')
|
||||
}
|
||||
environment {
|
||||
PROJECT = getProject()
|
||||
ENV = getEnv()
|
||||
}
|
||||
stages {
|
||||
stage('Build') {
|
||||
when {
|
||||
beforeAgent true
|
||||
allOf {
|
||||
not {
|
||||
changeRequest()
|
||||
}
|
||||
anyOf {
|
||||
branch 'development'
|
||||
branch 'main'
|
||||
}
|
||||
}
|
||||
}
|
||||
agent {
|
||||
kubernetes {
|
||||
cloud 'dev'
|
||||
inheritFrom 'fisker'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
slack("Build Started - ${env.JOB_NAME} (${env.BUILD_URL})", 'info', '#team-eng-compute-jenkins')
|
||||
slack(getChanges(), 'info', '#team-eng-compute-jenkins')
|
||||
container('awscli') {
|
||||
ecr()
|
||||
}
|
||||
container('kaniko') {
|
||||
buildImage()
|
||||
}
|
||||
}
|
||||
post {
|
||||
failure {
|
||||
slack("${env.JOB_NAME} build failed!", 'error', '#team-eng-compute-jenkins')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
when {
|
||||
beforeAgent true
|
||||
allOf {
|
||||
not {
|
||||
changeRequest()
|
||||
}
|
||||
anyOf {
|
||||
branch 'development'
|
||||
branch 'main'
|
||||
}
|
||||
}
|
||||
}
|
||||
agent {
|
||||
kubernetes {
|
||||
cloud getEnv()
|
||||
inheritFrom 'fisker'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
slack("Deploying ${PROJECT} to ${ENV}... :partydeploy: ", 'info', '#team-eng-compute-jenkins')
|
||||
container('helm') {
|
||||
deploy(getEnv())
|
||||
}
|
||||
slack("Successfully deployed ${PROJECT} to ${ENV}! :tada: ", 'info', '#team-eng-compute-jenkins')
|
||||
}
|
||||
post {
|
||||
failure {
|
||||
slack("${PROJECT} deploy to ${ENV} failed!", 'error', '#team-eng-compute-jenkins')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user