Skip to content
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
2 changes: 0 additions & 2 deletions CHANGELOG.md

This file was deleted.

54 changes: 49 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,53 @@
# Deploy-Tetris-Game-to-Azure-App-Service-using-Azure-Pipelines
# Microsoft Azure DevOps launching Tetris Game

Prerequisites :
- An Azure account with an active subscription. <a href="https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F" target="_blank">Create an account for free.</a>
- An Azure DevOps organization. <a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-sign-up?view=azure-devops" target="_blank">Create an account for free.</a>
⚠️ **Disclaimer:** Please note that the Tetris app deployed in this project is not originally designed by [Me!](https://github.com/imharshag). Additionally, the game may contain sounds that are deemed inappropriate. However, efforts are being made to refine and enhance the game, ensuring it maintains a clean and family-friendly experience. Contributions to this project are welcomed and appreciated!

### Overview

This project showcases the deployment of a game, specifically a Tetris app, using Microsoft Azure DevOps and Azure Web App Service. The implementation leverages various Azure services to establish a robust Continuous Integration (CI) and Continuous Deployment (CD) pipeline, ensuring high availability, scalability, and reliability.

![Tetris Game](preview.png)

### 🚀 Implementation Steps

1. ***Developed the Tetris App***:
- Wrote the app code using preferred programming language and framework.
- Used Git for version control and hosted the code in a Git repository on Azure Repos or GitHub.

2. ***Setup Continuous Integration (CI)***:
- Created a CI pipeline in Azure Pipelines to automate the build process.
- Configured the pipeline to compile the Tetris app code, run tests, and package the application into a deployable artifact.
- Integrated quality gates and code analysis tools to ensure build reliability and quality.

3. ***Setup Continuous Deployment (CD)***:
- Created a CD pipeline in Azure Pipelines to automate the deployment process.
- Configured the release pipeline to deploy the packaged artifact to Azure App Service.
- Customized deployment stages and environments, incorporating approval gates if necessary.

4. ***Infrastructure as Code (IaC)***:
- Used ARM templates or Azure CLI scripts to provision and configure the necessary infrastructure resources.

5. ***Monitoring and Logging***:
- Set up monitoring and logging using Azure Monitor and Application Insights.
- Configured custom metrics, alerts, and dashboards to monitor application performance, availability, and usage in real-time.

### 💡 Contribution

Contributions to this project are welcomed! You can contribute by:
1. Forking the repository.
2. Making your changes and committing them.
3. Pushing to your branch.
4. Creating a pull request.

### 📜 Document Links
[Project Documentation](https://drive.google.com/file/d/1sLw4O33hZT2X_a2-bsWfUPbFhdCSMI26/view?usp=drive_link)

### 📞 Contact

For any queries or support, please contact me at [My-Mail](mailto:harshag3106@gmail.com)

### 📜 License
This project is licensed under the MIT License. See the LICENSE file for more details.

Video ---- https://youtu.be/wxsYA_NB8os


Binary file modified audio/tetrisgameover.mp3
Binary file not shown.
39 changes: 39 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Docker
# Build and push an image to Azure Container Registry
# https://docs.microsoft.com/azure/devops/pipelines/languages/docker

trigger:
- main

resources:
- repo: self

variables:
# Container registry service connection established during pipeline creation
dockerRegistryServiceConnection: '52e39b87-54c4-40fd-bc23-b92971556bf7'
imageRepository: 'imharshagazuredevops'
containerRegistry: 'vybhav.azurecr.io'
dockerfilePath: '$(Build.SourcesDirectory)/Dockerfile'
tag: '$(Build.BuildId)'

# Agent VM image name
vmImageName: 'ubuntu-latest'

stages:
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: $(vmImageName)
steps:
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryServiceConnection)
tags: |
$(tag)
Binary file added preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.