Support Corner: Dotfuscator Return Codes in Build Automation

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 Supports Modern Build Systems

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.

Continued Support for Traditional Builds

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
)

PreEmptive Provides Flexibility Across Build Environments

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.