Did you know it’s possible to deploy an application using the CI/CD concept without installing anything on the servers?
With Digao Runner, you can create a complete deployment script. I personally use it for various automated routines, including deploying a .NET application to launch and update it on a Linux server.
But how is this possible?
Simple: Digao Runner has an integrated SSH and SFTP library. This allows you to execute commands remotely as well as transfer files between hosts.
In the example I mentioned about deploying to a Linux server, the script handles compiling the application, preparing the files for distribution, connecting to the server, sending the application binaries using the Blue-Green CI/CD approach, and managing the service to maintain high availability. The new version is run, and only when service availability is confirmed, the ports are swapped, and the old application instance is terminated.
It’s true that you can perform this process with well-known specialized software on the market. However, you’d need to install multiple components on the server and configure them extensively. And not everything is as customizable as you might like!
With the deployment script I created, the server could even be newly installed with no configuration, and the service will still start up normally. In other words, no prior server configuration is needed since the script takes care of everything, checking the server’s status and determining what needs configuring.
Additionally, you can automate local routines as well using Digao Runner as a script debugger, similar to a .BAT (Batch) or .PS1 (PowerShell) file on Windows, but with far more features and control.
A little history
I’ve been planning this software since 2020 when I had a collection of .BAT, .CMD, and .PS1 files to run routines on my environments. At that time, I noticed that whenever I created these scripts, something was always missing. They lacked exception handling for commands, configuration file access and control, direct integration with WebServices, APIs, and other services. There was also no easy way to request parameter inputs when running scripts.
That’s when I began creating software for this purpose. Initially, it didn’t have a name, and I even started developing my own scripting language (a crazy idea), which would serve as the foundation for script creation.
After a few months, I realized it would be more productive to use an existing language (it clicked), as it would be more robust and functional. That’s when I began integrating Lua, as it offered excellent software integration and allowed for variable and method intercommunication (essential for providing a library of available methods for scripts).
After some time (or quite a bit), I finally decided that the best option was to use C# in the scripts, integrating .NET’s script debugger directly into the software.
Thus, Digao Runner was born, an open-source application written in C# that also runs scripts in C#. The reason for choosing this language is simple: it contains a wide range of methods for file handling, command execution, process execution, and has many open-source libraries that expand its capabilities.
Oh, one more detail: since then, I no longer use .BAT or .PS1 scripts for anything. Any routine I need now has a .DS (Digao Script) file. Yeah!
Start using it too. It’s free and will help you a lot: digao-dalpiaz/DigaoRunner: Run scripts locally and remotely
PS: Leave a star on GitHub, please! Thanks a lot.