Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
No resource type out-of-the-box with windows worker #533
According to http://concourse.ci/resource-types.html, Concourse workers should support resource types such as
I probably missed something obvious somewhere but it looks like it might not the case for the Windows worker (everything went fine on Linux).
Both server and worker were started on a single Win7 SP1 64 machine with the following command lines:
And the following pipeline was used:
--- resources: - name: git-res type: git source: uri: https://github.com/concourse/concourse.git jobs: - name: hello-world plan: - get: git-res - task: hello-world config: platform: windows run: path: echo args: [hello world]
When executing the
What did I miss?
Additionally I couldn't find any documentation on how to add custom resource types for Windows workers. Where should I look for that?
Thanks in advance.
We use Pivotal Tracker to provide visibility into what our team is working on. A story for this issue has been automatically created.
The current status is as follows:
This comment, as well as the labels on the issue, will be automatically updated as the status in Tracker changes.
Resources are implemented as Docker images, so there aren't any for Windows yet. Someone could start porting them, though it doesn't sound very fun. At the moment you'll need at least one Linux worker to use resources. The bits will be fetched on Linux and streamed over to Windows.
Thanks for the quick reply.
What would be my options at the moment for a build process that needs to run on Windows and that has some heavy dependencies (think of SDKs that take 1-2h + reboot to get installed)?
Is there a more convenient option beside:
Sorry if the questions sound silly, I'm quite new to that whole container thing. =)
Thanks in advance!
@iar-wain on our builds we're installing MSIs that mess with the OS / and are stateful, so our scripts are made to detect whether dependencies are there and install them if not. here's an example: https://github.com/cloudfoundry/bosh-agent/blob/abc79750898ebc2aca42916e44f4bc3d2e395b45/ci/tasks/test-unit.ps1
your problem is a lil more complicated due to the size of the dependencies and the restart requirement, so i'd probably recommend number one, though if the dependencies are changing frequently that's gonna be more painful. hard to recommend without knowing the full scope of the problem, but there's not going to be any magic bullet here.
@vito It does not even work when I have linux worker available.
@mxplusb yes as far as I know you need to set up docker on the host. However as vito mentioned
So if you want to fetch some image from any docker registry you would need at least one linux worker to download that image and stream over to Windows host. Then you can run that image on Windows as container. I highly doubt if that would be an efficient solution run windows image on windows host as windows images are only around for a while and they are very large in size.
There some confusion here on how resources work.
@occelebi, the docker image for linux will never be streamed over to a windows worker. The resource will always run on the linux worker, only the output of the resource will be streamed to windows worker. For example, the git resource does a
The docker image used for resources are linux specific and require a linux worker. A windows worker running