Tuesday, November 22, 2022
Enabling Clean Deployment with zipDeploy in Azure App Service Deploy Task
Monday, November 14, 2022
Resolve "Error: Publish using webdeploy options are supported only when using Windows agent"
This blog explains how to resolve "Error: Publish using web deploy options are supported only when using Windows agent", in Azure App Service deploy task, with web deploy as deployment type and Linux as release agent.
Error:
"Publish using webdeploy options are supported only when using Windows agent"
Wednesday, November 9, 2022
Enable Debug Logging in GitHub Actions
Trouble shooting automation pipelines are getting easier when we have enough details of the steps in the logs. In GitHub workflows, we can enable step debug logs to get detailed logs for job. This blog explains how to enable step debug logging in GitHub workflows.
Before enable step loggings, you will get less logs as shown in below image.
Monday, October 24, 2022
Deploy AKS Cluster with GitHub Actions
GitHub actions facilitate automation of software workflows to enable continuous delivery and deployment. It has facility to customize your own workflows or utilize built-in workflows. This blog explains how to deploy Azure Kubernetes Cluster with Microsoft Create AKS Cluster action in GitHub Marketplace.
Pre-requisites:
- GitHub repository
- Basic knowledge on YAML build pipelines.
Let's get started.
Sunday, October 23, 2022
Find Network Adapter Status with PowerShell
This blog explains how to verify network adapter is enabled or disabled in Windows machine using a PowerShell script.
Following is the look up values for net connection status for Disconnected and Connected.
Disconnected |
0 |
Connected |
2 |
Thursday, October 20, 2022
GitHub Actions Secrets
Continuous integration and continuous deployment are well-known process in today's Software world which supported by several software workflow automation tools. No matter which tool you use, the secrets such as passwords should be hidden and secured.
GitHub actions is a feature available in GitHub which can be utilized to create CI CD pipelines for the software products. This blog explains how to manage secrets in GitHub Action pipelines.
Pre-requisites: GitHub Repository
Monday, September 19, 2022
Hiding Outputs of PowerShell
There might be situations where you want to hide outputs from PowerShell scripts. This blog explains how to achieve that.
Following code sample is used to connect with azure portal and show the resource group details. To avoid output values visible in the logs, we can add | Out-Null as shown in the following sample. You can learn more about Out-Null from here.
Wednesday, September 14, 2022
Resolve "maximum shards open; [type=validation_exception]" in Chef Automate Dashboard
This blog explains how to fix Chef dashboard compliance failure due to exceeding shards limit, which may give you an error similar to below.
Issue: Chef automate compliance node connection failing with following error message.
invalid output Report processing error: rpc error: code = Internal desc = InsertInspecReport: elastic: Error 400 (Bad Request): Validation Failed: 1: this action would add [10] total shards, but this cluster currently has [998]/[1000] maximum shards open; [type=validation_exception]
Friday, September 9, 2022
Terraform State List and Terraform Graph
This blog explains two useful commands available in Terraform.
Tip 01
You might have a requirement to view resources in terraform state file to get an idea on resources already applied with your Terraform script. But, if you try to do it by reading the state file, it is not an easy task. You can get list of resources available in Terraform state file with a simple command as explain below.
Monday, August 22, 2022
Resolve Chef Kitchen Verify Error "Cannot converge without accepting the Chef Infra Client License"
You might have experienced, Azure pipeline failing from kitchen verify step due to Chef Infra client License not accepted error while creating a Chef test kitchen in Azure. Let's look at how to fix this issue in this post.
Wednesday, August 17, 2022
Creating Chef Test Kitchen in Azure Using Azure Pipelines
When you are working with Chef, you can use chef’s integrated testing framework to test recipes to ensures recipes run as expected before applying recipes to production. This blog explains how to configure, chef test kitchen in an Azure VM using Azure DevOps pipeline.
Thursday, August 11, 2022
Resolve "Kitchen.yml does not exist" Issue in Azure Pipelines with Execute Chef Component Task
You might encounter "kitchen.yml does not exist" issue with execute chef component task in Azure pipelines. Reason for this failure is, Azure DevOps pipeline task is looking for the kitchen.yml file in the Build.SourcesDirectory by default. Further, there is no parameter to pass the kitchen.yml file location with kitchen create command.
Thursday, July 21, 2022
How to Enable Read Write for Deployed Content in Kudus When Using Web Deploy Package
The Build Packages which is packaged as webdeploy and deployed to Azure App service using Kudu, only have the read access . However, If you want to change content using kudu of Azure app service or stop/start a web job, you would not be able to do so due to not having wright permission. This blog explains how to enable read write permission to content in an app service deployed using a web deploy package.
You would be able to see the read only mode message similar to following image.
Friday, July 15, 2022
How to Successfully Deploy .NET Web App Built with Windows Agent Using Linux Agents
When building a .NET Web App with /p:WebPublishMethod=Package build argument to package as a web deployment package, the package is created with a folder structure where all the dll files are located in inner subfolder. If we use Azure DevOps Windows agents, We can deploy these packages using msdeploy.exe to correct path of Azure App service without worrying about the folder structure of the build package. However, If we use Azure DevOps Linux agents to deploy, it deploys packages with kudus copy and copying the inner folder structure to wwwroot. Then the App service will fail to run the .NET web application. This blog explains how to correctly deploy a .NET Web App built with Windows as a web deployment package using Azure DevOps Linux agents.
Web deployment package would create a folder hierarchy such as below. If we deploy below package using Linux agent, it will copy content folder with the all the sub folders to the wwwroot of the App service making the app to not runnable.
Thursday, June 30, 2022
Setting up Chef Infra server in Ubuntu 20.04 WSL2 in Windows 10/11
This blog explains how to configure chef infra server in WSL2 in Windows 10/11.
Prerequisites:
- WSL2 with Ubuntu 20.04 installed
Let's get started,
- Go to https://www.chef.io/downloads/tools/infra-server/ and download the relevant infra server.
- Copy downloaded .deb file to your work folder.
- Open WSL2 and run the following command to install the chef infra server on WSL2
sudo dpkg -i chef-server-core-<version>.deb
- Run the below command to start all the Chef services.
Monday, June 20, 2022
Resolve "System has not been booted with systemd as init system (PID 1). Can't operate" in WSL2 Ubuntu 20.04 distro
Sunday, May 15, 2022
Drawing Workflow Charts in Azure DevOps Wikis
Azure DevOps wikis supports Mermaid syntax that can be used to draw diagrams such as flow charts, UML diagrams, pie charts, Gantt charts and many more.
This blog explains mermaid syntax sample in Azure DevOps
- Script starts with :::mermaid and ends with :::
- Diagram type can be defined as graph, pie and more
- Shape style can be selected as,
() - rounded rectangle
{} - diamond
[] - rectangle
Friday, January 21, 2022
Enabling Sequential Deployments with Exclusive Environment Locks
When using an Azure DevOps deployment pipelines with exclusive lock for a stage and triggering a deployment pipeline parallelly, only the latest deployment runs and all previous deployments that triggered automatically get cancelled. This would be fine with cumulative deployments, however, if you have a different content in each deployment run, canceling the one deployment affect the system badly due to missing updates to the system.
Following image shows, pipeline automatically cancelled the previous run and runs only the latest deployment.
Saturday, January 8, 2022
Azure DevOps YAML Pipeline Path Filters with Wildcards
When working with YAML pipelines, we can define pipeline trigger options such as branch triggers and path filters. However, there was a limitation to set path filters before. The path filters cannot have wild cards. However, now Azure DevOps supports wild cards in path filters in YAML pipelines as explain in this blog.
Pre-requisite: Repo with a code solution
Following is the project structure we are going to use for the path filter. Once add a change to one of the cshtml files, sample YAML pipeline use in this blog should be triggered automatically.
-
As DevOps engineers, you get requirements to do scripts to perform several actions on application or get status of the application backend ...
-
If you are familiar with Terraform, you might have experience with terraform state import, which allows to import state of the already prov...
-
This post will discuss the issue you might get when trying to push the nuget package to the Azure DevOps Artifact feed using the build pipel...