Debugging web applications can be difficult sometimes. When debugging a failed HTTP GET request in Application Insights you have all of t....NET
For a long time, we were dependent on the CSS frameworks of others – and we were quite happy. 😀 As our needs grew, we needed a framework...Sass Dart Sass
Autofac is an inversion of control container for .NET. It allows developers to register items and then later use those registrations to i....NET
We recently started using SendGrid to send emails in production. As part of that, we noticed that emails to outlook.com, hotmail.com, msn...SendGrid
Have you found yourself getting lost in large Vue components that have multiple features? The Composition API is a new optional syntax in...vue3 composition frontend development
According to https://www.chromestatus.com/feature/5088147346030592 at the time of this blog post Chrome 80 is targeted to default cookies....NET
Our RimDev.FeatureFlags library uses Newtonsoft.Json as part of roundtripping the on/off state in SQL. With that we use TypeNameHandling.....NET
I never thought ordering of relational static fields and properties in C# mattered. And, then, I started getting NREs on a property I kno...C#
.NET’s LINQ library has extension-methods that will return a default-value if not found in a collection. These are a great time-saver if ....NET LINQ
How are we building our websites? Are they truly for everyone or if we ask ourselves honestly are they just for us? The way we currently ...care performance UI/UX frontend development
Working with NPM packages locally can feel a little bit overwhelming at first. Over the last year, we have transitioned some of our infra...npm tgz
In order to avoid having large files in our Git history we’ve been using Git Large File Storage (LFS). It commits a marker in the Git rep...Git
How do you not overwhelm the user with a wall of content? When thinking about user experience, this question often comes to mind as we d...UI/UX frontend SEO
If your idea of accessibility is making sure your site hits a specific WCAG score, you’re probably leaving out some users. Maybe accessib...Accessibility UI/UX frontend
About a year ago, RIMDev started a DevOps transformation. As part of that transformation, we started to use slots in Azure app services, ...devops rimbot chatops
Over the previous year we’ve been working to improve our overall uptime. While we aren’t prepared to offer 99.999% availability in the wa...Azure DevOps
At Ritter Insurance Marketing we utilize Azure Web Apps for hosting many of our web applications. Azure Web Apps is a platform as a service (PaaS) offering from Microsoft, enabling their customers to host web applications without managing and maintaining the server infrastructure.
One difficulty we’ve encountered using Azure Web Apps is configuration difficulty arising from spinning up another copy of an application, whether for debugging or other purposes. Using the Azure portal in a web browser, copying app settings and connection strings is a tedious copy and paste process — especially when there’s a bunch of them!
We prefer to work smarter, rather than harder. That said, we’re pleased to announce our cross-platform Azure Web App Configuration Copier tool for copying app settings and connection strings between applications!
First, you’ll need Node.js installed.
Next, the tool uses the Microsoft Azure Cross Platform Command Line tool, available on npm as azure-cli. With Node.js / npm installed, it’s as simple as
npm install -g azure-cli to install it globally – then use
azure login to authenticate and run
azure config mode asm to use the older mode this tool uses (it can be set back with
azure config mode arm).
Now that the prerequisites are ready, we can move onto installing and using the Azure Web App Configuration Copier tool. Do the following:
git clone [email protected]:ritterim/azure-web-app-configuration-copier.git(or navigate to the GitHub repository and download the repository manually)
We’re all set! Now, to run it:
> node main.js \ --sourceApp MySourceApp \ --destApp MyDestinationApp \ --subscription "My Subscription"
It’ll begin copying the app settings and connection strings. Be patient, it takes some time.
--subscription parameter is optional. If omitted, it will use the current subscription configured in the azure-cli.
Found a bug or have an idea? We welcome contributions at the GitHub repository.
We hope you find this tool useful!