diff --git a/Jenkinsfile b/Jenkinsfile index e5cdefa..0e1ba69 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,32 +1,31 @@ pipeline { agent any - environment { - HARBOR_CREDENTIALS = 'jenkins-harbor' - HARBOR_URL = 'https://harbor.lan' - IMAGE_NAME = 'rsyncd' - IMAGE_TAG = 'latest' - } stages { - stage('Build and Push Docker Image') { + stage('Checkout') { + steps { + git branch: 'main', url: 'https://git.dresi.wtf/dresi/rsyncd-docker.git' + } + } + stage('Build') { steps { script { - withCredentials([usernamePassword(credentialsId: HARBOR_CREDENTIALS, usernameVariable: 'HARBOR_USERNAME', -passwordVariable: 'HARBOR_PASSWORD')]) { - sh "docker login -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} ${HARBOR_URL}" - - sh "docker build -t ${HARBOR_USERNAME}/${IMAGE_NAME}:${IMAGE_TAG} ." - - sh "docker tag ${HARBOR_USERNAME}/${IMAGE_NAME}:${IMAGE_TAG} ${HARBOR_URL}/${HARBOR_USERNAME}/${IMAGE_NAME}:${IMAGE_TAG}" - - sh "docker push ${HARBOR_URL}/${HARBOR_USERNAME}/${IMAGE_NAME}:${IMAGE_TAG}" + dockerImage = docker.build("dresi/rsyncd-docker:${env.BUILD_NUMBER}") + } + } + } + stage('Test') { + steps { + sh 'docker run --rm dresi/rsyncd-docker:${env.BUILD_NUMBER} date' + } + } + stage('Push') { + steps { + script { + docker.withRegistry('https://harbor.lan/v1/', 'jenkins-harbor') { + dockerImage.push() } } } } } - post { - always { - echo 'Pipeline finished' - } - } } \ No newline at end of file