Skip to content

Github Actions repo including starter workflow YAML files for using GitHub Actions to automate cloud infrastructure, building source, unit-testing source, deploying source and running external integration tests.

License

goodtocode/github-actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions YAML for Azure Deployments

This repo is a starting point for using GitHub Actions YAML files to automate cloud infrastructure, building source, unit-testing source, deploying source and running external integration tests.

This is a simple GitHub Actions YAML for Azure Deployments GitHub Actions for Azure

This repository relates to the following activities:

  • Deploy Enterprise-scale Architecture Landing Zones
  • Deploy Azure cloud infrastructure
  • Building source with dotnet build
  • Unit-testing source with dotnet tests
  • Deploying source to cloud infrastructure
  • And running external integration tests

/pipelines folder (YAML)

Path Item Contents
pipelines - Contains all scripts, steps, variables and main-pipeline files
pipelines COMPANY-rg-PRODUCT-infrastructure.yml Main-pipeline file to deploy cloud landing zone, and infrastructure
pipelines COMPANY-rg-PRODUCT-src.yml Main-pipeline file to build/test/deply src, unit tests and integration tests

/steps folder (YAML)

Path Item Contents
pipelines/steps - GitHub Actions step templates.
pipelines/steps func-build-steps.yml Azure Functions source code build, and package
pipelines/steps func-deploy-steps.yml Azure Functions source code deploy to cloud infrastructure
pipelines/steps xxx-infrastructure-steps.yml Azure ESA infrastructure deploy
pipelines/steps integration-test-steps.yml Runs external integration tests against src
pipelines/steps logic-infrastructure-steps.yml Azure Logic Apps deploy to cloud infrastructure
pipelines/steps landingzone-infrastructure-steps.yml Azure ESA Landing Zone deploy
pipelines/steps nuget-deploy-external-steps.yml NuGet.org package (.nupkg) deploy
pipelines/steps nuget-deploy-internal-steps.yml Private NuGet Feed (.nupkg) deploy
pipelines/steps dotnet-build-steps.yml Source code (/src) build with dotnet build
pipelines/steps dotnet-test-steps.yml Source code (/src) unit-test with dotnet test

/pipeline/variables (YAML)

Path Item Contents
pipelines/variables - Variables (non-secret only) for the Azure landing zone, Azure infrastructure and NuGet packages.
pipelines/variables common.yml Common variables to all pipelines
pipelines/variables development.yml Development environment-specific variables
pipelines/variables production.yml Production environment-specific variables

/scripts folder (PowerShell)

Path Item Contents
pipelines/scripts - Contains GitHub Actions YAML files, Windows PowerShell scripts, and variables to support GitHub Actions YAML Pipelines.
pipelines/scripts System.psm1 Powershell helpers for system-level functions
pipelines/scripts Set-Version.ps1 Sets version per MAJOR.MINOR.REVISION.BUILD methodology
pipelines/scripts Get-AzureAd.ps1 Manual script for getting Azure AD information
pipelines/scripts New-SelfSignedCert.ps1 Manual script for generating a self-signed certificate

Azure Services used in these repositories

Azure Service Purpose
Azure Cosmos DB NoSQL database where original content as well as processing results are stored.
Azure Functions Code blocks that analyze the documents stored in the Azure Cosmos DB.
Azure Service Bus Service bus queues are used as triggers for durable Azure Functions.
Azure Storage Holds images from articles and hosts the code for the Azure Functions.
Azure Logic App Cloud workflow orchestrator, includes activities in the form of Connectors

About

Github Actions repo including starter workflow YAML files for using GitHub Actions to automate cloud infrastructure, building source, unit-testing source, deploying source and running external integration tests.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published