Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .github/CHANGETHIS/deploy-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Production deployment

on:
push:
branches:
- master

env:
PACKAGES_TOKEN: ${{secrets.PACKAGES_TOKEN}}
AZURE_RESOURCE_GROUP: cd-with-actions
AZURE_APP_PLAN: actions-ttt-deployment
AZURE_LOCATION: '"Central US"'
#################################################
### USER PROVIDED VALUES ARE REQUIRED BELOW ###
#################################################
#################################################
### REPLACE USERNAME WITH GH USERNAME ###
AZURE_WEBAPP_NAME: gitstua-ttt-app
#################################################

jobs:
build:
if: contains(github.event.pull_request.labels.*.name, 'stage')

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: npm install and build webpack
run: |
npm install
npm run build
- uses: actions/upload-artifact@master
with:
name: webpack artifacts
path: public/

Build-Docker-Image:
runs-on: ubuntu-latest
needs: build
name: Build image and store in GitHub Packages
steps:
- name: Checkout
uses: actions/checkout@v1

- name: Download built artifact
uses: actions/download-artifact@master
with:
name: webpack artifacts
path: public

- name: create image and store in Packages
uses: mattdavis0351/actions/docker-gpr@1.3.0
with:
repo-token: ${{secrets.GITHUB_TOKEN}}
image-name: ${{env.DOCKER_IMAGE_NAME}}

Deploy-to-Azure:
runs-on: ubuntu-latest
needs: Build-Docker-Image
name: Deploy app container to Azure
steps:
- name: "Login via Azure CLI"
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- uses: azure/docker-login@v1
with:
login-server: ${{env.IMAGE_REGISTRY_URL}}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Deploy web app container
uses: azure/webapps-container-deploy@v1
with:
app-name: ${{env.AZURE_WEBAPP_NAME}}
images: ${{env.IMAGE_REGISTRY_URL}}/${{ github.repository }}/${{env.DOCKER_IMAGE_NAME}}:${{ github.sha }}

- name: Azure logout
run: |
az logout