Whimsical gnome illustration showing the evolution from manual scripting to modern cloud deployment, representing the progression of the PuntoBello Installer

Evolution of the PuntoBello Installer

We regularly evolve our internal tools as our projects, artefacts, and delivery requirements change. This post explains what has changed with the PuntoBello Installer since September 2024 and why the tool is now much more flexible than before.

Fabian Hutzli
Fabian Hutzli
4 minutes to read

We regularly evolve our internal tools as our projects, artefacts, and delivery requirements change. One of these tools is the PuntoBello Installer — a developer utility based on Docker and PowerShell that helps us build and deploy SharePoint Framework (SPFx) and related Microsoft 365 artefacts in a consistent and automated way.

This post explains:

  • what the PuntoBello Installer is,
  • what has changed since its first version in September 2024,
  • what impact these changes have, and
  • why the tool is now much more flexible than before.

The source code is available on GitHub: https://github.com/diemobiliar/puntobello-installer


What Is the PuntoBello Installer?

The PuntoBello Installer is a developer and automation tool that standardizes how we:

  • build SPFx solutions,
  • package and prepare artefacts, and
  • deploy them to SharePoint and Microsoft 365.

Instead of relying on each developer’s local machine setup, we define everything once using:

  • a Docker image (tooling, Node versions, PowerShell modules, CLIs), and
  • PowerShell scripts for repeatable build and deployment steps.

This allows us to run the same process:

  • locally,
  • inside a dev container (VS Code), or
  • in CI/CD pipelines.

The result: fewer surprises, faster onboarding, and predictable deployments.


Where We Started (September 2024)

The initial version of the PuntoBello Installer (created in September 2024) already provided a solid foundation:

  • A Dockerfile that bundled SPFx and PowerShell tooling
  • PowerShell scripts for basic build and deployment tasks
  • A containerized approach to avoid “works on my machine” problems

This version worked well for our early use cases, but as our projects grew, so did the requirements.


What Changed Since Then?

The overall concept and flexibility of the PuntoBello Installer has not fundamentally changed. From the beginning, the tool was designed to be container-based, script-driven, and usable across different environments.

What has changed are the foundations and tooling versions we build upon. These updates ensure that the installer remains current, supported, and compatible with our evolving artefacts and Microsoft 365 ecosystem.


1. Updated Container Base Image: From CBL-Mariner to Azure Linux

One of the most important changes is the migration of the container base image:

  • Before: CBL-Mariner
  • Now: Azure Linux

Azure Linux is the successor of CBL-Mariner and represents Microsoft’s current, supported Linux distribution for container and cloud workloads.

Why this matters:

  • Long-term support and security updates
  • Alignment with Microsoft’s current container strategy
  • Better future compatibility with Azure-hosted workloads

This change is mostly invisible to users of the installer, but it is crucial for stability, security, and future-proofing.


2. Multi-Architecture Support Across All Tools

Multi-architecture support already existed conceptually, but it has been consistently applied and upgraded across all tools:

  • Docker image builds now fully support amd64 and arm64
  • Tooling inside the container works reliably on both architectures
  • This benefits developers on Apple Silicon as well as CI/CD runners

The result is a smoother experience regardless of the underlying hardware.


Since September 2024, the SharePoint Framework ecosystem has continued to evolve. The PuntoBello Installer has been updated accordingly:

  • Newer SPFx versions
  • Updated Node.js versions aligned with SPFx requirements
  • Updated PowerShell modules and CLIs used during build and deployment

Keeping these versions in sync is essential to avoid incompatibilities and unexpected build or runtime issues.


What Is the Impact of These Changes?

Faster Onboarding

New developers can be productive within minutes:

  • no manual installation of tooling
  • no guessing which versions are required
  • no hidden setup steps

More Reliable Deployments

By running builds and deployments in a controlled container environment, we reduce:

  • environmental differences
  • version mismatches
  • unexpected runtime errors

One Tool, Many Use Cases

The same installer can now be used for:

  • local development
  • container-based development
  • automated pipelines
  • different tenants and environments

Flexibility by Design

One of the key goals of the PuntoBello Installer is flexibility without chaos.

You can choose:

  • How to run it: locally, containerized, or in CI/CD
  • Where to run it: Windows, macOS, Linux
  • How to configure it: via configuration files and parameters

Yet the underlying process remains the same.

That combination allows teams to adapt the tool to their workflow — instead of adapting their workflow to the tool.


Final Thoughts

The PuntoBello Installer started as a helpful internal utility and evolved into a robust, flexible deployment platform.

By investing in:

  • containerization,
  • automation-friendly scripting, and
  • configuration-driven design,

we created a tool that grows together with our projects.

If you’re interested in standardized, repeatable build and deployment workflows — especially in the SPFx and Microsoft 365 space — feel free to explore the repository and adapt the ideas to your own projects.

https://github.com/diemobiliar/puntobello-installer