-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BYOC Docker is broken with Docker v23 and above #3891
Comments
I'm attempting to evaluate AppVeyor BYOC and I have this issue with as well. Docker Engine: 24.0.7
|
Could you please clarify are you trying standalone AppVeyor Server or BYOC connected to AppVeyor cloud? |
This is stand alone.
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Feodor Fitsner ***@***.***>
Sent: Tuesday, December 19, 2023 4:41:01 PM
To: appveyor/ci ***@***.***>
Cc: Mike Hutter ***@***.***>; Comment ***@***.***>
Subject: Re: [appveyor/ci] BYOC Docker is broken with Docker v23 and above (Issue #3891)
Could you please clarify are you trying standalone AppVeyor Server or BYOC connected to AppVeyor cloud?
—
Reply to this email directly, view it on GitHub<#3891 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABJ3ZOCUKIS27566G6EQ5HDYKIJXVAVCNFSM6AAAAAA425PYDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRTGU3TCNJXGE>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Try installing this AppVeyor Server update please: https://appveyordownloads.blob.core.windows.net/appveyor/7.0.3279/appveyor-server-7.0.3279-win-x64.msi |
Downloaded and installed and I can see the new dlls in the server folder with a date of 6/1/23 and but I'm still getting the exact same error. Is it the host agent that needs to be updated? Those dlls look to still be from 4/2022. |
I started from scratch, uninstalled everything, re-installed and before I added a new Docker cloud build I got the same error as the OP @shana.
I then added a new docker build environment and ran the suggested power shell commands which installed the HostAgent and that HostAgent is using the old dlls (7.0.3212) vs the new ones in the server folder (7.0.3279) and I get the same error I did originally did...
Update:
|
Update: I "patched" the HostAgent/AppVeyor.BuildWorkers.Docker.dll so it reads the correct indexes for the string array returned from GetDockerVersionString and it connects to and starts a docker build container, however it doesn't really do anything. In the build console, it just says: and on the docker container logs: warn: Appveyor.BuildAgent.Service.SignalrClientFactory[0] Guessing that localhost:8050 is in the context of the docker container so it's attempting to connect to the server on itself rather than my host machine. Investigating... |
Update: The issues described by the OP are still valid. These are the issues that I've had attempting to get this up and running on my machine and describe in detail the steps I had to go through to get it working. My Setup: AppVeyor Server and Host Agent are running on my machine (not inside docker). Docker Desktop is installed and running on this same machine. It was setup this way simply for evaluation purposes. Remediation Steps : After some digging in the powershell scripts, I discerned the url to download AppVeyor Host Agent 7.0.3279 and replaced the files in the HostAgent folder with the new ones. This produced the error message when running a build: I "patched" Appveyor.BuildWorkers.Docker.DockerWorker.GetDockerVersion using ildasm/ilasm and replaced the file in the HostAgent (not Server) directory. The error messages went away, however the docker build container was not able to communicate with they AppVeyor Server api.
This finally allowed me to start a build that was able to connect to and communicate with my AppVeyor Server api. I am now able to successfully start and run a build. Related Issues:
#3891 - (This Issue) - caused by v7.0.3279 Appveyor.BuildWorkers.Docker.DockerWorker
Note:
|
The public version of the host agent is broken with current versions of docker, due to #3869 not being fixed in the public build. Additionally, the private build shared in #3869 has an incomplete fix, crashing with:
This is happening because the fix changes the amount of fields returned from the Docker version format, but the code that processes it splits the returned string and assumes that it still has the amount of fields prior to the fix. i.e., could you please update
Appveyor.BuildWorkers.Docker.DockerWorker. GetDockerVersion
to use the correct array indexes, and publish a public build with the full fix?Since the original issue has been closed even though it isn't fixed, I'm opening this one to request an official fix for this.
The text was updated successfully, but these errors were encountered: