Showing posts with label code. Show all posts
Showing posts with label code. Show all posts

Wednesday, 18 October 2023

Code Unit Test Coverage with Azure Pipelines

 Unit tests are essntial to ensure the code we develop is working as intended. Running the unit tests Azure pipelines is really helpful to not to miss the unit test failures. However, to give afurther assuarance we need to check the coverage of code with unit tests in our projects. Let's look at steps required to obtain a code unit tests coverage report in Azure piplines in  cobertura format.

The expected outcome

The coverage here shows the first library, all code lines (100%) are covered with tests and the the other library has only 22.2% code coverage. 


Wednesday, 24 May 2023

Store Azure SignalR Connection String as a Secret in Azure Key Vault with Bicep IaC

  We can create Azure SignalR and Azure key vault as resources using Bicpe IaC (Infrastructure as Code). Setting up of SignalR connection string as a Secret in Azure Key Vault via IaC is important, so that it can be used by applications by refering to key vault secret. Let's look at the steps required to store the Azure SignalR connection string as a secret in Azure key vault with Bicep.

Sunday, 7 May 2023

Create Key Vault Reference in Azure App Config Service with Bicep IaC

 We have discussed "Store Azure Service Bus Connection String  as a Secret in Azure Key Vault with Bicep IaC" previously. Setting such a secret in Azure App configuration service as a key vault reference will help the applications to access the connection string to Azure service bus via the app config service. This is applicable to setting up reference to any secret in Azure key vault, as Azure key vault reference in Azure app configuration service, via Bicep as Infrastructure as Code (IaC). Let's look at the steps required.

Sunday, 30 April 2023

Store Azure Service Bus Connection String as a Secret in Azure Key Vault with Bicep IaC

 We can create Azure Service Bus and Azure key vault as resources using Bicpe IaC (Infrastructure as Code). Setting up of Service Bus connection string as a Secret in Azure Key Vault via IaC is important, so that it can be used by applications by refering to key vault secret. Let's look at the steps required to store the Azure service bus connection string as a secret in Azure key vault with Bicep.

Friday, 30 July 2021

Passing Array Parameter to Bicep Scrip via Azure DevOps Pipeline

 Bicep infrastructure as code allows us to pass array parameters and write loop structure of script to deploy multiple resources to Azure. we can define json array as parameter value in an Azure DevOps variable to pass it as an array parameter to Bicep using a pipeline. However, it would be more appropriate to define varible values in much simpler way such as specifying ; separated value set which can be converted into a json string as in Azure pipeline before passing it to Bicep script. An example would be list of database names to create in the same Azure SQL elastic pool.

Saturday, 17 July 2021

Running Bicep IaC with GitHub Actions

 We have discussed deploying Bicep script using an Azure DevOps pipeline in a pervious post. We have explored having a approvals working with GitHub actions in the post "Manual Approval in GitHub Actions".  Let's utilize manual approvals and deploy Bicep script with GitHub actions.

Friday, 25 June 2021

Azure Resources with Bicep Using Azure Pipelines

 Bicep is the latest Azure infrastructure as code (IaC) language introduced by Microsoft. We have discussed about getting  started with Bicep in the post "Azure Infrastructure as Code (IaC) with Bicep - Getting Started with Development".  Let's look at how to implement an Azure pipeline to deploy infrastructure to Azure with Bicep in this post.

Saturday, 8 May 2021

Azure Infrastructure as Code (IaC) with Bicep - Setup Development Environment

 Bicep is the latest infrastructure as code solution released by Microsoft to develop and deploy resources to Azure cloud. Bicep is built on top of Azure resource manager templates (ARM) simplifying the development by introducing a declarative syntax to define infrastructure resources. Bicep converts into ARM templates JSON before execution. Let’s begin with setting up a development environment for Bicep.

Thursday, 18 March 2021

Deploying Azure Resource Group with Ansible Play Book Using Custom Ubuntu 18.04 VM

In a previous post we have discussed how to setup Ansible on Azure Ubuntu 18.04 VM. We can start using Ansible and execute play books to deploy Infrastructure on Azure cloud. Let’s look at how we can get started with deploying resources to Azure using an Ansible playbook, on the VM we created with Ansible as explained in the post “Install Ansible to Use Python3 on Azure Ubuntu 18.04 VM”.

Saturday, 19 September 2020

Azure Terraform Infra as Code Deployment via Custom PowerShell with Azure DevOps Pipelines – Part 2 – Execute Plan with Approval

In the previous post “Azure Terraform Infra as Code Deployment via Custom PowerShell with Azure DevOps Pipelines – Part 1 – Create Plan” we have discussed how to generate a terraform plan targeting Azure Infrastructure deployment and upload it to an Azure Git repo. The solution is implemented instead of using terraform task for Azure DevOps, which is available with Microsoft DevLabs extension due to it is having a prerequisite of Azure resource group, storage etc. as described in the post “Why Azure DevOps Terraform Extension Task by Microsoft DevLabs to Deploy Infra to Azure Does Not Work for Me”. As the second part of previous post, let’s explore the steps require to approve the terraform plan and get the plan executed with Azure DevOps pipeline relying on a state kept in Azure Git repo instead of a storage blob, which is eliminating the need of having manually created Azure resources.

Friday, 4 September 2020

Why Azure DevOps Terraform Extension Task by Microsoft DevLabs to Deploy Infra to Azure Does Not Work for Me

Terraform is used as declarative code for infrastructure deployments on multiple cloud platforms including Azure. Azure DevOps provides capability to execute Infrastructure as code (IaC), with CI/CD pipelines, by using tasks added with the extension by Microsoft DevLabs (https://marketplace.visualstudio.com/items?itemName=ms-devlabs.custom-terraform-tasks) available in the marketplace. The terraform task to plan or apply a terraform plan demands to have reources in Azure such as a resource group, storage account, container and a key (terraform state file path). Similar demands are there for even AWS and GCP for when using the task.

Friday, 21 August 2020

Getting Started with Terraform for Azure in Windows 10

Terraform is a great way to setup infrastructure as code (IaC) for Azure. Terraform helps us to codify and version control our infrastructure needs in multiple platforms, hence, making learning terraform for IaC for Azure would let an individual to easily get adapted to other platforms such as AWS. IN this post let’s have a quick look at preparing a Windows 10 machine to get started with terraform.

Wednesday, 18 September 2019

Using VS Code Extension for Azure Pipeline–Part1

Visual Studio Code is becoming a popular code editing tool in all platforms, Recently VS Code was added with Azure Pipeline extension which can generate YAML based pipeline code. The extension assists in writing YAML pipeline code providing IntelliSense. Let’s look at how we can get started with the Azure Pipeline extension to generate a YAML base pipeline.

Thursday, 12 April 2018

Finding Active Team Projects Based on Code CheckIns/Commits

When you have many team projects in your TFS instance or in your team services account (VSTS), manually finding out what are the active projects is not going to be an easy task, by looking at each code repository in each of the projects to determine whether project is getting updated with code changes. TFS/VSTS REST API can be used in this scenario to obtain the projects that have any code commits/checkins from a given date using the script available here.

Monday, 1 January 2018

Configure Search Service for TFS 2018 in a Separate Server to Enable Work Item & Code Search

Work Item Search & Code Search allow TFS users to do advanced and dynamic way of quick searching on code or work items, with drill down etc. To enable Code Search in VSTS you have to install the Marketplace extension for code search, work item search is default enabled for VSTS. You can configure search for on-premises TFS in TFS AT (described here), itself. But if you want to setup search service in a separate box from your TFS AT, you can follow the steps described in this post.

Monday, 20 March 2017

Sonar Server on Azure VM

SonraQube has become grate tool providing detail analysis of code quality. Tracing of history of code quality checks let the development teams identify how the code quality improved (could be how the code is gotten so bad even). How to setup a SonarQube server to use with team foundation server is described in the post “Setting Up Sonar Server for TFS”. Let’s look at steps required to set this up in an Azure virtual machine and expose it to use with team services account.

  1. Setup an Azure virtual machine with Windows Server 2012 R2 Datacenter.
  2. Follow the instructions in the post  “Setting Up Sonar Server for TFS” and get the SonarQube server running inside the virtual machine.
  3. To allow accessing the Sonar server default port 9000 through firewall of the virtual machine add an inbound firewall rule in the virtual machine allowing port 9000 for public and private access.
  4. Above step alone will not allow public access to Azure VM hosted sonar server. You need to allow accessibility in Azure nsg(network security group) for the port. To do this go to the virtual machine in Azure portal, select Network Interfaces and click on the network interface.

Monday, 20 February 2017

SonarQube Extension for VSTS/TFS

In the post Setup SonarQube Analysis with TFS Builds usage of Sonar Server with TFS build to measure quality of code is explained. The task catalogue tasks explained in the post Setup SonarQube Analysis with TFS Builds are now deprecated. There is an extension available in marketplace for SonarQube. This extension provide new begin analysis and end analysis tasks to be used in a TFS build.
Once you install the SonarQube extension for VSTS/TFS you can setup service endpoint type of SonarQube.

Friday, 9 December 2016

Setup SonarQube Analysis with TFS Builds

Setting up a Sonarqube server is explained in the post “Setting Up Sonar Server for TFS”.  Sonar analysis helps to identify the technical debt in the source code of your project. Running it integrated with team service or TFS builds add more value by automating the quality checks with sonar server.

To run Sonarqube analysis for a project with TFS follow the steps described below.

Thursday, 1 December 2016

Setting Up Sonar Server for TFS

SonarQube helps to check overall health of your source code.This allows you to write cleaner code and it will improve your code base dramatically. SonarQube is capable of integrating into CI engines and facilitate DevOps by providing code quality measurements. It supports multiple languages and makes it easy for you to detects bugs in your code. Qaulity management of your code bases can be centralized and integration with TFS server and Team services is seamless. Lets look at setting up a SonarQube server to be used with TFS.

Wednesday, 31 December 2014

Quick Edit Code in VSO

Quick code editing in Visual Studio Online is a newly added feature with latest release. You can edit code check-in without opening Visual Studio. This is really useful to do a quick fix to your code just with a browser.
Let me show you how you could do this.
Explore a team project source code in VSO Web Portal and click on a file.
a1
Click on edit will load the edit mode.
a2
Add comments and check in (undo check out also possible)
a3
a4

a5

Changeset can be viewed and file changes can be compared.
 a6
It is possible to add new files, upload new files and rename files as well.
a7
a8

a9
Note: Code in above green box is manually added by me :).
You will find this feature is really useful to do quick fixes to code from wherever you are and whatever the device you use as long as you have a browser that can run VSO.
Currently this feature is not available for TFS on premise (2013.4), but will be available with a future update.

Popular Posts