I am deploying a symfony application to an Azure Linux PHP 7.4 web app. I used the approach suggested in How to archive files in artifact for github workflow actions in order to fix this warning? to streamline the deployment.
So everything is working well, but occasionally the site fails. I tracked it down to a stale cache. To fix the problem I have to SSH into the web app and clear the cache using
$ php bin/console cache:clear
Looking in detail at the Github actions build and deploy log, I see that cache:clear is executed on the build VM, which is not helpful.
I am using the standard php build and deploy script with the zip/unzip steps added...
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy PHP app to Azure Web App - xxx
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- name: Check if composer.json exists
id: check_files
uses: andstor/file-existence-action@v1
with:
files: 'composer.json'
- name: Run composer install if composer.json exists
if: steps.check_files.outputs.files_exists == 'true'
run: composer validate --no-check-publish && composer install --prefer-dist --no-progress
- name: Zip artifact for deployment
run: zip -r release.zip * .env .htaccess public/.htaccess
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: php-app
path: release.zip
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'staging'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: php-app
- name: Unzip artifact for deployment
run: unzip release.zip
- name: 'Deploy to Azure Web App'
uses: azure/webapps-deploy@v2
id: deploy-to-webapp
with:
app-name: 'xxxx'
slot-name: 'staging'
publish-profile: ${{ secrets.AZUREAPPSERVICE_xxxxx }}
package: .
How do I get the clear cache command to work after deployment to the web app?