The transition from traditional, on-premises automated build environments to cloud-based CI/CD solutions marks a significant evolution. This shift towards platforms like Azure DevOps, GitLab, and BitBucket has redefined how we approach build automation. With the introduction of “build agents” or “nodes,” these modern systems ensure a seamless distribution of resources for efficient and scalable software builds.
PreEmptive has not only kept pace with these advancements but has also been proactive in supporting cloud-based build environments. By introducing a NuGet package and enhancing support for headless builds, we streamlined the integration of Dotfuscator into CI/CD pipelines. This evolution includes making Dotfuscator cross-platform and adjusting licensing to fit modern workflows, simplifying the process to only adding a few lines to your build YAML or Dockerfile.
Even with the shift towards cloud-based solutions, PreEmptive is committed to supporting traditional build environments. For those who still define automated builds via command or PowerShell script, Dotfuscator’s return codes offer a straightforward way to manage build success or failure — 0 for a successful build or 1 if the build failed for any reason. Build scripts can respond to a build failure without needing to scan log output. For example:
dotfuscator.exe -in:MyApp.exe IF %ERRORLEVEL% NEQ 0 ( REM Dotfuscator build has failed, need to do something echo "Dotfuscator Build has failed, binaries not protected!" ) ELSE ( REM Dotfuscator build succeeded, we can proceed )
We want to be the application security tool developers can use in various build environments. So whether you’re leveraging popular build systems or customized build scripts, Dotfuscator is ready to enhance your application’s security before deployment.
We value your feedback and invite you to share your thoughts and suggestions if there is an idea or topic you’d like to see. Reach out and let us know! Your insights are pivotal in guiding the subjects we discuss in the Support Corner. Together, we can continue to refine our strategies and tools to serve your development needs better.