Select Git revision
Jenkinsfile
Jenkinsfile 3.33 KiB
pipeline {
agent any
tools {
gradle 'Gradle'
}
environment {
PROJECT_ID = "tech-rnd-project"
CLUSTER_NAME = "cluster"
LOCATION = "us-central1-a"
CREDENTIALS_ID = "kubernetes"
}
stages {
stage('Scm Checkout') {
steps {
checkout scm
}
}
stage('Build') {
steps {
sh 'chmod u+x gradlew'
sh './gradlew'
sh './gradlew build'
}
}
stage('Test') {
steps {
sh './gradlew test'
}
}
stage('SonarQube analysis') {
steps {
withSonarQubeEnv('java-sonarqube-server') {
sh "./gradlew sonarqube"
}
}
}
stage('Build Docker Image') {
steps {
sh 'whoami'
sh 'sudo chmod 777 /var/run/docker.sock'
sh 'sudo apt update'
sh 'sudo apt install software-properties-common'
sh 'sudo add-apt-repository ppa:cncf-buildpacks/pack-cli'
sh 'sudo apt-get update'
sh 'sudo apt-get install pack-cli'
sh 'pack build java-postgress --builder gcr.io/buildpacks/google-22/builder@sha256:ffa092c09ffb147b2ce9658eb6590aa9af2caffb2d513ab8546bb510b74e0225'
}
}
// stage('Image Scan') {
// steps {
// //add steps here
// echo 'image scanning'
// sh 'trivy image --no-progress --exit-code 1 --severity CRITICAL java-postgress'
// }
// }
stage('Push Docker Image') {
steps {
script {
echo 'Push Docker Image'
sh 'docker tag java-postgress us-central1-docker.pkg.dev/tech-rnd-project/container-node/nodejs'
sh 'gcloud auth configure-docker us-central1-docker.pkg.dev'
sh 'docker push us-central1-docker.pkg.dev/tech-rnd-project/container-node/nodejs'