2 minute read (291 words).

Using Github Actions to push to Azure Blob

Azure, Web

Azure Blob is a great place to store static resources for websites with it’s cheap running costs, ease of setup and ability to host them directly from it. The only problem I found was uploading the resources.

Yes, it’s possible to upload them via the GUI, or by running the AzCopy packages. But, I didn’t like these methods.

I store all my assets in various Git repository’s and wanted a seamless way to upload them upon a commit. Github Actions provided that functionality.

Simply add a new secret with the below name and the Azure Storage connection string. This is important as the actions workflow file which controls what happens is public.


Now lets creating the workflows control file.

vi .github/workflows/main.yml

name: Publish to WB Asset Server

on: push

    runs-on: ubuntu-latest

    - name: Checkout the repo
      uses: actions/[email protected]

    - name: Publish app
      uses: Azure/[email protected]
        azcliversion: latest
        inlineScript: |
          az storage blob delete-batch -s "\$web" --pattern upload_dir\* --connection-string "${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}"
az storage blob upload-batch -s $GITHUB_WORKSPACE/ -d "\$web" --destination-path upload_dir --connection-string "${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}"

Two parameters in the az lines will need to me modified for your environments. upload_dir which is the directory in which the repo will be uploaded to.

$web may need to be changed to whatever container name you wish to upload to, however $web is the required name for static website hosting from a storage account.

Note* The Azure Storage connection string can be found under Settings > Access Keys > Show Keys in the Azure Portal under the storage account you intend to use.

Static website hosting in Azure Storage | Microsoft Docs

Share via Twitter LinkedIn Facebook Email