When will be available Windows based CI/CD what are the plans?
Asked by Valeriu Ghisoiu:

1. When will be available a cloud CI/CD for windows projects and will there be provided a docker image with windows? So a full windows based ci/cd.

2. I've heard that windows runner is not really good/ideal. I am using Bitbucket Windows Runner. Why is not good, what are the disadvantages?

3. For hardware electronics projects it is better to use a local runner, since there are some tools that are not yet cloud covered (eg. Siemens Modelsim)?


Answers:
author: Patrik S
body: Hello [@Valeriu Ghisoiu](/t5/user/viewprofilepage/user-id/5568129) ,

thank you for reaching out to Community!

Let me address your questions individually for better clarity:
> 1. When will be available a cloud CI/CD for windows projects and will there be provided a docker image with windows? So a full windows based ci/cd.

Currently, it's only possible to build windows native applications using windows self-hosted runners.

We do have a feature request opened with our development team to add support of atlassian cloud hosted windows runners as well, which you can find in the link below:

* <https://jira.atlassian.com/browse/BCLOUD-22155>

While you we are not able to provide you an exact ETA when this feature will be available, you're welcome to give your **Vote** in that feature request and leave any feedback to our product management team, so they can understand the interest. You also have the option to mark yourself as a **Watcher**in that ticket, so you get notified of any future updates.
> 2. I've heard that windows runner is not really good/ideal. I am using Bitbucket Windows Runner. Why is not good, what are the disadvantages?

Builds in runners are executed in the same way as in the Cloud. The main difference is that in self-hosted runners you have to manage and maintaining the infrastructure (the host/resources where the runner is being executed), whilst in cloud runners, Atlassian manages the hardware/infrastructure for you so that is transparent for the user.
> 3. For hardware electronics projects it is better to use a local runner, since there are some tools that are not yet cloud covered (eg. Siemens Modelsim)?

I don't have much expertise in hardware electronics projects specifically, but given that Windows runners are executed directly in a Powershell session with full access to the host resources, that would be the recommended option if the tools you're using are not yet cloud ready.

I hope that information helps! Let us know in case you have any questions.

Thank you, [@Valeriu Ghisoiu](/t5/user/viewprofilepage/user-id/5568129) !

Patrik S

comments: author: Valeriu Ghisoiu
body: Dear Patrik,

Thank you very much for your responses.

1. I thank you for the links and indeed I will follow the features and vote.

2. As I understand correctly it is no difference then between Cloud and Local Hosted regarding the repository or yaml file. (I accept to set-up my infrastructure because of point 3.).   
Extra QUESTION here: Is there in bitbucket runner any possibility to enable/set-up for docker the feature "Docker network mode" similar to others? And it is safe if I modify the runner.ps1 file?  

3. Yes, so I don't have tools that are using cloud :( so I will still remain for a bit on Local Windows Runner. (using windows seems more intense compared to linux haha)  

Kind regards, Thank you [@Patrik S](/t5/user/viewprofilepage/user-id/4603309)   
Valeriu G


author: Patrik S
body: Hello [@Valeriu Ghisoiu](/t5/user/viewprofilepage/user-id/5568129) ,

You're very welcome! Happy to have been of some help :)

As for your extra questions, Windows runners are executed directly in a Powershell session with no containers involved.

You can think of it working in the same way as opening a PowerShell in the machine and executing a sequence of commands. You can essentially run any commands available in the host, so if you have docker installed in the host machine, you can execute docker commands as part of your build, and they will be executed in the host machine as if you opened a Powershell session and typed those commands manually.

There's no docker container involved in the runner itself though, everything is executed directly in Powershell.

You can have a more holistic view of each type of available runners in the following article:

* [Runners comparison](https://confluence.atlassian.com/bbkb/bitbucket-runners-comparison-1384125495.html)

Regarding modifying the runner.ps1, while you can make changes to that script, it may break the runners functionality, so it's not really advised.

Thank you, [@Valeriu Ghisoiu](/t5/user/viewprofilepage/user-id/5568129) !

Patrik S


author: Valeriu Ghisoiu
body: Hi Patrik,   

Thank you for your responses. I used your advice and it worked, I can access docker.

But sometimes apparently through the runner some commands are not working, or I get different output, like for example I am able to clone/pull/update submodules on my machine (all good working), but through the runner gives me errors about not having access: "remote: The requested repository either does not exist or you do not have access".   

I will see what am I doing.

Thanks for help,

Vale


Tags: bitbucket-pipelines

docker

windows