pipeline {
    agent any
    environment {
        GIT_HASH = GIT_COMMIT.take(7)
        IMAGE_NAME = ""
	    DOCKER_REGISTRY = "docker.bigc.it"
        REGISTRY_CREDENTIALS = 'nexus-docker'
        dockerImage = ''
	    buildNumber = ''
	    KUBERNETES_CREDENTIALS = "sansone-kubeconfig"
        KUBERNETES_NAMESPACE = "sitoaziendale"
	    KUBERNETES_DEPLOYMENT = "sitoaziendale"
	    KUBERNETES_CONTAINER = "sitoaziendale"
    }
    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }
        stage("Interactive_Input") {
            steps {
                script {

                    // Variables for input
                    def inputTag

                    // Get the input
                    def userInput = input(
                            id: 'userInput', message: 'Inserisci docker tag',
                            parameters: [

                                    string(defaultValue: '',
                                            description: 'e.g. sitoaziendale/develop:0022-c1e2a2f',
                                            name: 'Tag')
                            ])

                    // Save to variables. Default to empty string if not found.
                    inputTag = userInput?:''

                    // Echo to console
                    echo("L'immagine ha il tag: ${inputTag}")

                    // Set the variabile
                    IMAGE_NAME = inputTag

                    //Da qui non ci serve
                    // Write to file
                    //writeFile file: "inputData.txt", text: "Config=${inputConfig}\r\nTest=${inputTest}"

                    // Archive the file (or whatever you want to do with it)
                    //archiveArtifacts 'inputData.txt'
                }
            }
        }
        stage('Rolling update') {
            steps {
                script {
                    if(env.BRANCH_NAME == "main") {
                        KUBERNETES_NAMESPACE = "sitoaziendale-prod"
                    }
                    withKubeConfig([credentialsId: KUBERNETES_CREDENTIALS]) {
                     sh "kubectl set image deployment/${KUBERNETES_DEPLOYMENT} -n ${KUBERNETES_NAMESPACE} ${KUBERNETES_CONTAINER}=docker.bigc.it/${IMAGE_NAME}"
                    }
                }
            }
        }
    }
}
