Skip to content

Commit 13a72d9

Browse files
committed
Update test.yml
1 parent 13ab1b9 commit 13a72d9

1 file changed

Lines changed: 38 additions & 8 deletions

File tree

.github/workflows/test.yml

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111
env:
1212
IMAGE_NAME: vite-react-app
1313
NAMESPACE: production
14+
NODE_PORT: 30080
1415

1516
jobs:
1617
test:
@@ -80,7 +81,7 @@ jobs:
8081
microk8s ctr image import /tmp/app-image-latest.tar
8182
rm /tmp/app-image-latest.tar
8283
83-
- name: Verify Image in MIcroK8s
84+
- name: Verify Image in MicroK8s
8485
run: |
8586
echo "Images available in MicroK8s:"
8687
microk8s ctr images ls | grep ${{ env.IMAGE_NAME }}
@@ -102,6 +103,31 @@ jobs:
102103
run: |
103104
microk8s kubectl apply -f k8s/ --namespace=${{ env.NAMESPACE }}
104105
106+
- name: Configure external access
107+
run: |
108+
EXTERNAL_IP=$(curl -s ifconfig.me)
109+
echo "External IP: $EXTERNAL_IP"
110+
111+
# Update service with external IP
112+
cat <<EOF | microk8s kubectl apply -f -
113+
apiVersion: v1
114+
kind: Service
115+
metadata:
116+
name: vite-react-app-service
117+
namespace: ${{ env.NAMESPACE }}
118+
spec:
119+
type: NodePort
120+
externalIPs:
121+
- $EXTERNAL_IP
122+
selector:
123+
app: vite-react-app
124+
ports:
125+
- protocol: TCP
126+
port: 80
127+
targetPort: 80
128+
nodePort: ${{ env.NODE_PORT }}
129+
EOF
130+
105131
- name: Wait for rollout
106132
run: |
107133
microk8s kubectl rollout status deployment/vite-react-app \
@@ -122,27 +148,31 @@ jobs:
122148
- name: Get service URL
123149
id: service-url
124150
run: |
125-
NODE_PORT=$(microk8s kubectl get service vite-react-app-service -n ${{ env.NAMESPACE }} -o jsonpath='{.spec.ports[0].nodePort}')
126-
NODE_IP=$(microk8s kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}')
127-
echo "url=http://$NODE_IP:$NODE_PORT" >> $GITHUB_OUTPUT
128-
echo "Application URL: http://$NODE_IP:$NODE_PORT"
151+
EXTERNAL_IP=$(curl -s ifconfig.me)
152+
echo "url=http://$EXTERNAL_IP:${{ env.NODE_PORT }}" >> $GITHUB_OUTPUT
153+
echo "Application URL: http://$EXTERNAL_IP:${{ env.NODE_PORT }}"
129154
130155
- name: Deployment Summary
131156
run: |
132-
NODE_PORT=$(microk8s kubectl get service vite-react-app-service -n ${{ env.NAMESPACE }} -o jsonpath='{.spec.ports[0].nodePort}')
133-
NODE_IP=$(microk8s kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}')
157+
EXTERNAL_IP=$(curl -s ifconfig.me)
134158
135159
echo "## Deployment Status :rocket:" >> $GITHUB_STEP_SUMMARY
136160
echo "" >> $GITHUB_STEP_SUMMARY
137161
echo "**Namespace:** ${{ env.NAMESPACE }}" >> $GITHUB_STEP_SUMMARY
138162
echo "**Image:** ${{ steps.image-tag.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
139163
echo "**Commit:** ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
140-
echo "**URL:** http://$NODE_IP:$NODE_PORT" >> $GITHUB_STEP_SUMMARY
164+
echo "**External URL:** http://$EXTERNAL_IP:${{ env.NODE_PORT }}" >> $GITHUB_STEP_SUMMARY
165+
echo "**NodePort:** ${{ env.NODE_PORT }}" >> $GITHUB_STEP_SUMMARY
141166
echo "" >> $GITHUB_STEP_SUMMARY
142167
echo "### Pods Status" >> $GITHUB_STEP_SUMMARY
143168
echo '```' >> $GITHUB_STEP_SUMMARY
144169
microk8s kubectl get pods --namespace=${{ env.NAMESPACE }} >> $GITHUB_STEP_SUMMARY
145170
echo '```' >> $GITHUB_STEP_SUMMARY
171+
echo "" >> $GITHUB_STEP_SUMMARY
172+
echo "### Service Status" >> $GITHUB_STEP_SUMMARY
173+
echo '```' >> $GITHUB_STEP_SUMMARY
174+
microk8s kubectl get svc --namespace=${{ env.NAMESPACE }} >> $GITHUB_STEP_SUMMARY
175+
echo '```' >> $GITHUB_STEP_SUMMARY
146176
147177
- name: Cleanup old images
148178
run: |

0 commit comments

Comments
 (0)