11pipeline {
22 agent any
33 environment {
4- // Set environment variables
54 ECR_REGISTRY = credentials(' ecr-registry-uri' )
65 AWS_REGION = ' eu-central-1'
76 DOCKER_TAG = ' latest'
87 }
98 stages {
109 stage(' Build and Push ai-agent' ) {
11- agent {
12- docker {
13- image ' docker:24-dind'
14- args ' --privileged'
15- reuseNode true
16- }
17- }
18- when {
19- changeset " ai-agent/**"
20- }
10+ agent { docker { image ' docker:24-dind' ; args ' --privileged' ; reuseNode true } }
11+ when { changeset " ai-agent/**" }
2112 steps {
22- withAWS(credentials : ' aws-credentials' , region : " ${ AWS_REGION} " ) { // AWS creds stored in Jenkins
13+ withAWS(credentials : ' aws-credentials' , region : " ${ AWS_REGION} " ) {
2314 sh ' aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${ECR_REGISTRY}'
2415 sh ' docker build -t ${ECR_REGISTRY}/ai-agent:${DOCKER_TAG} ./ai-agent'
2516 sh ' docker push ${ECR_REGISTRY}/ai-agent:${DOCKER_TAG}'
2617 }
2718 }
2819 }
2920 stage(' Build and Push Go Microservices' ) {
30- agent {
31- docker {
32- image ' docker:24-dind'
33- args ' --privileged'
34- reuseNode true
35- }
36- }
37- when {
38- anyOf {
39- changeset " go-services/blockchain-monitor/**"
40- changeset " go-services/anomaly-detector/**"
41- }
42- }
21+ agent { docker { image ' docker:24-dind' ; args ' --privileged' ; reuseNode true } }
22+ when { anyOf { changeset " go-services/blockchain-monitor/**" ; changeset " go-services/anomaly-detector/**" } }
4323 steps {
4424 withAWS(credentials : ' aws-credentials' , region : " ${ AWS_REGION} " ) {
4525 sh ' aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${ECR_REGISTRY}'
@@ -54,20 +34,12 @@ pipeline {
5434 }
5535 }
5636 stage(' Build and Push Dashboard' ) {
57- agent {
58- docker {
59- image ' docker:24-dind'
60- args ' --privileged'
61- reuseNode true
62- }
63- }
64- when {
65- changeset " dashboard/**"
66- }
37+ agent { docker { image ' docker:24-dind' ; args ' --privileged' ; reuseNode true } }
38+ when { changeset " dashboard/**" }
6739 steps {
6840 withAWS(credentials : ' aws-credentials' , region : " ${ AWS_REGION} " ) {
6941 sh ' aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${ECR_REGISTRY}'
70- sh ' docker build -t ${ECR_REGISTRY}/dashboard:${DOCKER_TAG} ./dashboard'
42+ sh ' docker build -t ${ECR_REGISTRY}/dashboard:${DOCKER_TAG} ./dashboard' // Adjust if merged with anomaly-detector
7143 sh ' docker push ${ECR_REGISTRY}/dashboard:${DOCKER_TAG}'
7244 }
7345 }
@@ -76,19 +48,15 @@ pipeline {
7648 steps {
7749 withAWS(credentials : ' aws-credentials' , region : " ${ AWS_REGION} " ) {
7850 sh ' helm upgrade --install ai-agent ./helm/ai-agent --namespace default --set image.repository=${ECR_REGISTRY}/ai-agent'
79- sh ' helm upgrade --install blockchain-monitor ./helm/go-microservices/blockchain-monitor --namespace default'
80- sh ' helm upgrade --install anomaly-detector ./helm/go-microservices/anomaly-detector --namespace default'
81- sh ' helm upgrade --install dashboard ./helm/dashboard --namespace default'
51+ sh ' helm upgrade --install blockchain-monitor ./helm/go-microservices/blockchain-monitor --namespace default --set image.repository=${ECR_REGISTRY}/blockchain-monitor '
52+ sh ' helm upgrade --install anomaly-detector ./helm/go-microservices/anomaly-detector --namespace default --set image.repository=${ECR_REGISTRY}/anomaly-detector '
53+ sh ' helm upgrade --install dashboard ./helm/dashboard --namespace default --set image.repository=${ECR_REGISTRY}/dashboard '
8254 }
8355 }
8456 }
8557 }
8658 post {
87- always {
88- sh ' echo "Pipeline complete!"'
89- }
90- failure {
91- echo ' Build failed!'
92- }
59+ always { sh ' echo "Pipeline complete!"' }
60+ failure { echo ' Build failed!' }
9361 }
9462}
0 commit comments