Giter Club home page Giter Club logo

ensuringqualityrelease's Introduction

Ensuring Release Quality

To make sure the we could deliver a release with acceptable quality, it is neccessary to do the following steps:

  1. Create the required sources e.g. appSerive and VM with the help of terraform. It helps us to make sure that we always have the consitent enviroment.
  2. Deploy fakeRestAPI into azure appService, so it could be used for API testing with Jmeter
  3. VM must be configured to be able to exeute Selenium
  4. Use Postman to make sure API and all the HTTP Protocol like GET and POST are respoding correctly.
  5. Automate all of the previous step in azure devops pipeline.

Steps:

1. Create Azure storage account:

Please create the storage account by using this link here. Either use the same variable name in azure-pipeline.yml file or adjust pipeline file according to your used variable names.
HINT: DO NOT FORGET TO SAVE THE PASSWORD FOT STORAGE ACCOUNT

2. Create SSH for VM:

This key is required for VM deployment.

ssh-keygen -t rsa

3. Create terraform.tfvars

create "terraform.tfvars" and fill it with your azure data. **HINT:**DO NOT ADD THIS FILE YOUR REPOSITRY

# Azure GUIDS
subscription_id = <FILL IT>
client_id = <FILL TT>
client_secret = <FILL TT>
tenant_id = <FILL TT>

# Resource Group/Location
location = "East US"
resource_group = "rg-erq"
application_type = "erq"

# Network
virtual_network_name = "vnn_erq"
address_space = ["10.5.0.0/16"]
address_prefix_test = "10.5.1.0/24"

# Virtual Machine
vm_admin_username = "adminuser"

4. Create Azure Pipeline

Create azure devops pipeline as it is explained here.

5. Create Service Connection for pipeline

Create service connecton as it is explained here. HINT: LEAVE THE RESOURCE GROUP EMPTY

6. Install Azure Pipeline Extension

Install the following azure pipeline extension:

7. Add SSH KEY & terraform.tfvars to secureFile

Since we do not want to store the sensitive information in the repository, we need to use secureFile option of the created azure pipeline.

8. Create Environment Pipeline

Create the following pipeline enviroment, so VM and Appservice can be configured during pipeline execution in the automatic manner.

  • VM-CONFIG
  • WEBAPP-DEPLOY

9. Create Log Analytics workspace

Create the workspace with help of this link.
The required files "azure-storage-account.sh" and "deploylaworkspacetemplate.json" can be found in root of the project.
After creation of the workspace, please make sure that you update WORKSPACE_ID and PRIMARY_KEY in the azure pipeline yaml file.
For more information please check these two Links (1 and 2 ).
The workspace will be used for gathering all required logs and eventually logs analysis.

Before Pipeline Run

To make sure that the pipleine can configure the created VM via terraform, we created the pipeline enviroments. However, there is another step, that should be done once after creation of the VM. Therefore, there is waiting stage
in the pipeline after terraform is finished. During the waiting period, you need to run the following steps:

  1. After terraform is finished successfully, go to pipeline enviroment -> VM-CONFIG -> Add Resources
  2. Choose the linux version
  3. copy paste the given bash script
  4. SSH into VM (with help of created SSH key earlier)
  5. Execute the copied bash script

During Pipeline Run

Result of Pipeline Run

Environment Creation & Deployment

  • Log output of Terraform when executed by the CI/CD pipeline

  • Successful execution of the pipeline build

Automated Testing

  • Log output JMeter

  • Log output Selenium

  • Log output Postman

After Pipeline Run

Monitoring & Observability

  • Postman Test Report

  • AppService HTTP 404 Alert Email

  • Selenium Log Analytics

ensuringqualityrelease's People

Contributors

hsefati avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.