diff --git a/Jenkinsfile b/Jenkinsfile index e7f3b74..0e2bf6d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,31 +17,34 @@ pipeline { } stages { - // stage('Build') { - // steps { - // script { - // sh "docker build --no-cache --target production -t $DOCKER_CREDENTIALS_USR/edusaig:$BUILD_NUMBER ." - // // ใช้คำสั่ง docker.build เพื่อทำการ build image ของโปรเจคของเรา - // } - // } - // } + stage('Build') { + steps { + script { + sh "docker build --no-cache --target production -t $DOCKER_CREDENTIALS_USR/edusaig:$BUILD_NUMBER ." + // ใช้คำสั่ง docker.build เพื่อทำการ build image ของโปรเจคของเรา + } + } + } - // stage('Push') { - // steps { - // script { - // docker.withRegistry('https://registry.hub.docker.com', 'gan-docker-hub') { - // docker.image("$DOCKER_CREDENTIALS_USR/edusaig:$BUILD_NUMBER").push() - // // ใช้คำสั่ง docker.image.push เพื่อทำการ push image ของเราไปยัง Docker Hub - // } - // } - // } - // } + stage('Push') { + steps { + script { + docker.withRegistry('https://registry.hub.docker.com', 'gan-docker-hub') { + docker.image("$DOCKER_CREDENTIALS_USR/edusaig:$BUILD_NUMBER").push() + // ใช้คำสั่ง docker.image.push เพื่อทำการ push image ของเราไปยัง Docker Hub + } + } + } + } stage('Deployment') { steps { script { withCredentials([string(credentialsId: 'edusaig-manifest-repo', variable: 'MANIFEST_REPO')]) { sh "git clone $MANIFEST_REPO" + sh "sed -i 's/^\([[:space:]]*tag:[[:space:]]*\).*/\1"$BUILD_NUMBER"/' $MANIFEST_REPO/values.yaml" + sh "cd edusaig-manifest && git add . && git commit -m 'Update tag to $BUILD_NUMBER' && git push" + // ใช้คำสั่ง git clone เพื่อทำการ clone โปรเจคของเรา และใช้คำสั่ง sed เพื่อทำการแก้ไขไฟล์ values.yaml ในโปรเจคของเรา } // ใช้คำสั่ง git clone เพื่อทำการ clone โปรเจคของเรา }