Print all environment variables in Azure DevOps across Microsoft Hosted Agents

While debugging the CI builds, sometimes it becomes necessary to take a peek at the values of the variables that are being passed to the environment used. It helps in understanding what is going on and why some steps are not working as desired in the build pipeline. There are different commands to check the environment variables in different types of agents, mostly based on the underlying Operating System. However, if you happen to use the Microsoft Hosted agents for your build pipelines, we can use one single line of code to print all environmental variables across all agents.
Read More »

Using Liquibase to manage and deploy changes on SQL Server

In previous post, we saw how we can install and configure Liquibase. In this blog post, we’ll see how we can leverage Liquibase to deploy changes on the Microsoft SQL Server.

Download JDBC driver for SQL Server

For this, we first need to download the JDBC driver for the SQL Server. This can be downloaded from the Microsoft using this link. The download is available in both .exe format for Windows and .tar.gz format for Mac OS X or Linux. Read More »

Include Databases in CI/CD pipeline using Liquibase

For most of the Organizations, it is almost unthinkable to work in a software project without some kind of version control. The benefits of tracking and retaining an incremental history of the code are well understood and documented. However most of the time this has been limited to the application code and not the accompanying databases. This has remain a concern due to the many complexities and cultural issues associated with how the databases operates and their various versions. However, it is not just limited to keep database schema and data changes as part of the version control. Read More »

Install Jenkins in offline mode on CentOS / RHEL

There are times when you would need to do an offline installation of the Jenkins. This may be to meet certain requirements of the workplace that you are operating in. I came across this issue some time back and internet is woefully out of articles for proper steps on this one. In this blog post, we’ll learn how to do an offline installation of Jenkins.

Install OpenJDK Java

First, we need to check what version of java is installed on the machine using:
Read More »

Checkout only selected Paths from Git Repository

In some organizations, its a common practice to put everything related to one project in one single git repository. Over the time, as the project goes on, more and more files keep getting added and it may reach a large size over the time. In such a case, you would like to check only a particular path, so that you can reduce the checkout time. It also make sense to checkout only selected paths, when you are running a continuous integration build, so that you can reduce overall build time. Even though git is very fast, but small improvements can really add up to be significant.
Read More »

Understanding Microsoft Build System – Making use of Properties

In previous blog post, we discussed about the concept of properties in MSBuild schema. We also saw few project files samples and about reserved properties. In this post, we are going to expand that knowledge by discussing how to use properties further.

Access Environment Variables

In some build configurations, when you build projects, it is often necessary to set build options using information that is not in the project file. This information is typically stored in environment variables. All environment variables are available to the MSBuild as properties. So we can simply access them in the same way we access properties i.e. by encapsulating their name in $(environmental_variable_name).
Read More »

Understanding Microsoft Build System – Properties

In one of the previous post, we discussed about the significance of MSBuild and how to download it. We have also seen the very basics of schema that is needed by MSBuild. In this blog post, we are going to expand on the same by discussing Properties.

Concept of Properties

When you build projects, you frequently compile the source code with different build options. For example, for development environment release, you generally create a build with debug configuration with symbols so that the developers can use it to help finding bugs. For production release, you generally create a build with no symbol information. You would also like to also enable optimizations if its possible. Read More »

Install and Configure Octopus Server for Continuous deployments

Octopus server has become wildly popular these days for continuous deployments because of its features, extensibility and integration with continuous integration tools like Jenkins or Bamboo. It can be used to deploy applications and perform complex steps to servers located either in cloud or on-premise. It also supports latest inclusion of latest DevOps technology like containers.

In this blog post we’ll learn how to setup a Octopus server on a clean windows server machine. It supports all windows server versions starting from Windows Server 2008 SP2. For our demo, we’ll use Windows Server 2016 machine.Read More »