Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.
Open
Show file tree
Hide file tree
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
53 changes: 53 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Deploy Workflow
# We only want to run this script manually.
on:
workflow_dispatch

# Environment variables are defined in an "env" section.
# We set the target environment to dev.
# Open the deploy-advanced.yml file to see how we can accept user input
# instead of needing to change this file to switch environments.
env:
targetEnv: dev

# The overall workflow name will be Azure Bicep. This will show up in the
# GitHub Action page.
name: Azure Bicep
jobs:
# This script has one job: build and deploy the IaC resources
build-and-deploy:
# We run this on an Ubuntu-based GitHub hosted runner. This hosted runner
# has certain software already installed, including az cli
runs-on: ubuntu-latest
steps:
# Check out the code. This grabs code from the repository and
# makes it available to the GitHub hosted runner. It will usually be the
# first task for any workflow
- uses: actions/checkout@main

# Log into Azure using a federated credential. We have already set up the
# federation process in a prior step, so we need to pass in the following:
# Client ID = Application registration ID
# Tenant ID = Application owner organization ID (previously called Tenant ID in Azure)
# Subscription ID
# https://github.com/azure/login
- uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# We also need to ensure that enable-AzPSSession is true. This is important for
# using OIDC in Azure. If we were to pass in a client secret instead, we would not need
# this setting enabled
enable-AzPSSession: true

# Deploy ARM template
- name: Run ARM deploy
# https://github.com/azure/arm-deploy
uses: azure/arm-deploy@v1
with:
subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
resourceGroupName: ${{ secrets.AZURE_RG }}
template: ./InfrastructureAsCode/main.bicep
# Use the environment variable called targetEnv
parameters: environment=${{ env.targetEnv }}
54 changes: 54 additions & 0 deletions .github/workflows/first-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# The name of the job is what will display on the GitHub repository in the Actions tab.
name: First Workflow

# The 'on' section tells GitHub under what conditions we want to run this workflow.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
# Common scenarios include:
# workflow-dispatch (manual execution)
# issues
# push
# pull_request
# schedule
on:
workflow_dispatch:

# This section covers the work to perform.
# We include one or more jobs in this section.
jobs:
# Each individual job will include details like execution order,
# pre-requisite jobs, and execution platform.
job1:
# We can run jobs on GitHub hosted VM runners in Windows, Ubuntu, and Mac OS.
# We can also run jobs on self-hosted hardware.
runs-on: ubuntu-latest

# Each job contains one or more steps. A step needs to have at least a name and a command.
steps:
- name: Step one
# The 'run' command executes a shell or command script. Because this is Ubuntu, the
# default run command will be /bin/bash
run: echo "Log from step one"
# This section does not appear in the solution file but demonstrates how to set
# custom variables that will be available in the run script.
env:
VARIABLE_NAME: value
- name: Step two
run: echo "Log from step two"

job2:
# Job 2 will only run after job 1 completes.
# Removing this 'needs' section would make the jobs run simultaneously.
needs: job1
runs-on: ubuntu-latest

steps:
- name: Cowsays
# The 'uses' command executes a remote GitHub action.
# A command like mscoutermarsh/cowsays-action means you can
# find this code at https://github.com/mscoutermarsh/cowsays-action
uses: mscoutermarsh/cowsays-action@master
# The 'with' block includes parameters that the workflow will pass
# to this action. Parameters are all in key-value format.
with:
text: 'Ready for prod--ship it!'
color: 'magenta'
3 changes: 3 additions & 0 deletions Application/src/RazorPagesTestSample/Data/Message.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,7 @@ public class Message
public string Text { get; set; }
}
#endregion

// Write a loop from 0 to 10 and print out the numeric value of the iterator for each loop iteration

}
9 changes: 9 additions & 0 deletions credentials.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "GitHubDevOpsCredential",
"issuer": "https://token.actions.githubusercontent.com",
"subject": "repo:thetrainingboss/TechExcel-Implementing-DevOps-practices-to-accelerate-developer-productivity-code:ref:refs/heads/main",
"description": "Deploy Azure resources from the TechExcel DevOps practices GitHub repo",
"audiences": [
"api://AzureADTokenExchange"
]
}