Skip to content

Commit 528f71d

Browse files
committed
refactor: simplify Maven build process and improve JAR file detection in deployment workflow
1 parent 24bd18c commit 528f71d

File tree

1 file changed

+23
-41
lines changed

1 file changed

+23
-41
lines changed

.github/workflows/deploy.yml

Lines changed: 23 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -47,34 +47,6 @@ jobs:
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

Comments
 (0)