99 - main
1010 workflow_dispatch :
1111
12+ env :
13+ REGISTRY : ${{ secrets.OCI_REGISTRY }}
14+ OCI_USERNAME : ${{ secrets.OCI_USERNAME }}
15+ OCI_AUTH_TOKEN : ${{ secrets.OCI_AUTH_TOKEN }}
16+ VM_IP : ${{ secrets.VM_IP }}
17+
1218jobs :
1319 build :
1420 runs-on : ubuntu-latest
1521
16- env :
17- REGISTRY : ${{ secrets.OCI_REGISTRY }}
18- OCI_USERNAME : ${{ secrets.OCI_USERNAME }}
19- OCI_AUTH_TOKEN : ${{ secrets.OCI_AUTH_TOKEN }}
20-
2122 steps :
2223 - name : Checkout code
2324 uses : actions/checkout@v2
@@ -142,6 +143,15 @@ jobs:
142143 if : always()
143144 run : docker logout ${{ secrets.OCI_REGISTRY }}
144145
146+ - name : Build frontend
147+ env :
148+ REACT_APP_API_BASE_URL : http://${{ secrets.VM_IP }}:8080
149+ run : |
150+ cd frontend
151+ npm ci
152+ npm run build
153+ cd ..
154+
145155 deploy :
146156 runs-on : ubuntu-latest
147157 needs : build
@@ -161,29 +171,38 @@ jobs:
161171 - name : Log in to Oracle Container Registry
162172 uses : docker/login-action@v2
163173 with :
164-
165174 registry : ${{ secrets.OCI_REGISTRY }}
166175 username : ${{ secrets.OCI_USERNAME }}
167176 password : ${{ secrets.OCI_AUTH_TOKEN }}
168177
169178 - name : Verify VM Connection
170179 env :
171- ORACLE_VM_IP : ${{ secrets.ORACLE_VM_IP }}
180+ ORACLE_VM_IP : ${{ secrets.VM_IP }}
172181 run : |
173182 echo "Verifying VM connection..."
174183 echo "${{ secrets.SSH_PRIVATE_KEY }}" > ssh_key.pem
175184 chmod 600 ssh_key.pem
176185 ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -i ssh_key.pem opc@${ORACLE_VM_IP} echo "VM connection successful" || exit 1
177186
178187 - name : Deploy to Oracle VM
188+ env :
189+ ORACLE_VM_IP : ${{ secrets.VM_IP }}
190+ SSH_KEY : ${{ secrets.SSH_PRIVATE_KEY }}
191+ DOCKER_REGISTRY : ${{ secrets.OCI_REGISTRY }}
192+ DOCKER_USERNAME : ${{ secrets.OCI_USERNAME }}
193+ DOCKER_PASSWORD : ${{ secrets.OCI_AUTH_TOKEN }}
179194 run : |
180- echo "Starting deployment..."
181- echo "${{ secrets.SSH_PRIVATE_KEY }}" > ssh_key.pem
195+ echo "$SSH_KEY" > ssh_key.pem
182196 chmod 600 ssh_key.pem
183197
184- ssh -o StrictHostKeyChecking=no -i ssh_key.pem opc@${{ secrets. ORACLE_VM_IP } } << 'ENDSSH'
198+ ssh -o StrictHostKeyChecking=no -i ssh_key.pem opc@${ORACLE_VM_IP} << 'ENDSSH'
185199 cd ~/music-analytics/vm-deploy || exit 1
186200 echo "${{ secrets.OCI_AUTH_TOKEN }}" | docker login ${{ secrets.OCI_REGISTRY }} -u ${{ secrets.OCI_USERNAME }} --password-stdin || exit 1
201+
202+ # Set environment variables for docker-compose
203+ export VM_IP=${{ secrets.VM_IP }}
204+ export DOCKER_REGISTRY=${{ secrets.OCI_REGISTRY }}
205+
187206 docker-compose pull || exit 1
188207 docker-compose up -d || exit 1
189208 docker logout ${{ secrets.OCI_REGISTRY }}
0 commit comments