Can Bitbucket Pipelines run with windows docker files?

Viewed 1374

As the the title asks, can bitbucket pipelines run with windows dockers?

Some background - I've been doing some research on pipelines over bamboo. Many of the articles I've come across are while pipelines was still in beta and only supported linux docker files. I can't seem to find any information regarding whether pipelines will work with windows.

Bonus question! What are your opinions of bitbucket pipelines over bamboo deployment for a larger scale website?

2 Answers

Currently bitbucket pipelines does not support windows docker files

https://confluence.atlassian.com/bitbucket/limitations-of-bitbucket-pipelines-827106051.html

Features not available for Pipelines yet

  • Jira integration.
  • Build statuses from Pipelines don't show up in the development panel.
  • Build artifacts stored by Bitbucket (you can still use third-party artifact repositories)
  • Building Windows applications
  • Accessing services like artifact repositories or container registries behind a firewall

issue 13452 mentions in the comments by phod now (May 2022) includes:

I am happy to announce that windows runner is in GA now.

The BitBucket blog confirms:

Announcing support for Windows runners in Bitbucket Pipelines (Leo Liang)

We are happy to announce that Bitbucket Pipelines now supports self-hosted runners on Windows.

You can create a self-hosted runner and run it on your Windows infrastructure to run builds with the .Net framework.
Since you're using your own runner, you won’t be charged for any Bitbucket Pipelines build minutes.

This self-hosted runner will be non-containerized, allowing your CI/CD step to access the host’s hardware, such as the graphics card or any connected external devices.
Given that the runner will run directly on a Windows instance, we also don’t put restrictions on a step’s memory usage.

Get Started

To get started, go to your repository or workspace settings, and select the Runners tab in the left navigation menu.
Select Windows from the dropdown and specify a runner name and any labels.

Just as with other types of runners, if you choose to create a workspace runner, that runner can be used to run builds for any repository in that workspace.

Configuring your bitbucket-pipelines.yaml

To use your Windows runner in your Pipelines .yaml file, add a runs-on parameter with a windows label to a step, and that step will run on the next available Windows Runner that has all the required label(s).
If all your Windows Runners are busy, then your step will be queued until one becomes available.

pipelines:
 custom:
   customPipelineWithRunner:
     - step:
         name: Step 1
         runs-on: 
           - 'windows'
         script:
           - echo "This step will run on a self hosted windows >infrastructure.";
         caches:
           - windows_bundler
definitions:
 caches:
   windows_bundler: vendor/bundle

To learn more about how to set up and use self-hosted runners on your own infrastructure, refer to our support documentation and watch the runners demo.

Next up: In case you missed it, last month we announced that macOS runners are currently in beta and will be officially released soon.

Related