4747 <password>${{ secrets.MAVEN_PASSWORD }}</password>
4848 </server>
4949 </servers>
50- <mirrors>
51- <mirror>
52- <id>central</id>
53- <name>Maven Central</name>
54- <url>https://repo1.maven.org/maven2/</url>
55- <mirrorOf>central</mirrorOf>
56- </mirror>
57- </mirrors>
58- <profiles>
59- <profile>
60- <id>default</id>
61- <repositories>
62- <repository>
63- <id>central</id>
64- <url>https://repo1.maven.org/maven2</url>
65- <releases>
66- <enabled>true</enabled>
67- </releases>
68- <snapshots>
69- <enabled>false</enabled>
70- </snapshots>
71- </repository>
72- </repositories>
73- </profile>
74- </profiles>
75- <activeProfiles>
76- <activeProfile>default</activeProfile>
77- </activeProfiles>
7850 </settings>' > ~/.m2/settings.xml
7951
8052 - name : Build with Maven
@@ -83,24 +55,21 @@ jobs:
8355 MAVEN_PASSWORD : ${{ secrets.MAVEN_PASSWORD }}
8456 run : |
8557 echo "Starting Maven build..."
86- mvn -B -X -s ~/.m2/settings.xml clean install -DskipTests || {
87- echo "Maven build failed. Checking settings..."
88- ls -la ~/.m2
89- echo "Current directory contents:"
90- ls -la
58+ mvn -B -s ~/.m2/settings.xml clean install -DskipTests || {
59+ echo "Maven build failed."
9160 exit 1
9261 }
9362
9463 - name : Verify Build Artifacts
9564 run : |
9665 echo "Checking build artifacts..."
9766 for service in api-gateway eureka-server recommendation-service statistics-service user-tracking-service; do
98- if [ -f "$service/target/$service-0.0.1-SNAPSHOT.jar" ]; then
99- echo "$service build successful"
100- else
101- echo "Error: $service build failed - JAR not found"
67+ JAR_PATH=$(find $service/target -type f -name "*.jar")
68+ if [ -z "$JAR_PATH" ]; then
69+ echo "Error: JAR not found for $service"
10270 exit 1
10371 fi
72+ echo "$service build successful: $JAR_PATH"
10473 done
10574
10675 - name : Set up Docker Buildx
@@ -130,8 +99,17 @@ jobs:
13099
131100 for service in "${services[@]}"; do
132101 echo "Building $service..."
133- docker build -t ${REGISTRY}/${NAMESPACE}/$service:latest -f $service/Dockerfile . || exit 1
134- docker push ${REGISTRY}/${NAMESPACE}/$service:latest || exit 1
102+
103+ # Find the JAR file dynamically
104+ JAR_FILE=$(find $service/target -type f -name "*.jar" | head -n 1)
105+
106+ if [ -z "$JAR_FILE" ]; then
107+ echo "Error: No JAR file found for $service"
108+ exit 1
109+ fi
110+
111+ docker build -t ${REGISTRY}/${NAMESPACE}/$service:latest --build-arg JAR_FILE=$JAR_FILE -f $service/Dockerfile .
112+ docker push ${REGISTRY}/${NAMESPACE}/$service:latest
135113 echo "$service successfully built and pushed."
136114 done
137115
@@ -178,8 +156,12 @@ jobs:
178156 ssh -o StrictHostKeyChecking=no -i ssh_key.pem opc@${ORACLE_VM_IP} << 'EOF'
179157 cd ~/music-analytics/vm-deploy || exit 1
180158 docker login ${REGISTRY} -u ${OCI_USERNAME} -p ${OCI_AUTH_TOKEN} || exit 1
181- docker-compose pull || exit 1
182- docker-compose up -d || exit 1
159+ docker pull ${REGISTRY}/${NAMESPACE}/api-gateway:latest
160+ docker pull ${REGISTRY}/${NAMESPACE}/eureka-server:latest
161+ docker pull ${REGISTRY}/${NAMESPACE}/recommendation-service:latest
162+ docker pull ${REGISTRY}/${NAMESPACE}/statistics-service:latest
163+ docker pull ${REGISTRY}/${NAMESPACE}/user-tracking-service:latest
164+ docker-compose up -d
183165 docker logout ${REGISTRY}
184166 echo "Deployment completed successfully"
185167 EOF
0 commit comments