podTemplate(containers: [
    containerTemplate(name: 'kubectl', image: 'lachlanevenson/k8s-kubectl:v1.8.8', command: 'cat', ttyEnabled: true),
    containerTemplate(name: 'docker', image: 'docker:latest', command: 'cat', ttyEnabled: true),
]) {
    node(POD_LABEL) {
        container('docker') {
            stage('Build stage image') {
                print('test in build')
                sh 'ls -la'
                sh """
                    docker build -t core.harbor/kubernetes/dashboard-frontend:stage -f Dockerfile.stage . && docker push core.harbor/kubernetes/dashboard-frontend:stage
                """
            }
            stage('Push stage image to Harbor') {
                withCredentials([file(credentialsId: 'updated_harbor_ca', variable: 'HARBOR_CA'), usernamePassword(credentialsId: 'harbor_creds',usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
                    sh """
                        docker login -u ${USERNAME} -p ${PASSWORD}
                        docker push core.harbor/kubernetes/dashboard-frontend:stage
                    """
                }
           }
        }
        container('kubectl') {
            stage('Deploy new image') {
                withKubeConfig([credentialsId: 'jenkins-deployer-token', serverUrl: 'https://10.61.151.220:6443']) {
                    sh 'k patch deployment -n frontend -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}"'
                }
            }
        }
    }
}