[Help Wanted] Setup a AppVeyor Storage (cache) on a self-hosted config windows 10

Babiole's Avatar

Babiole

11 Oct, 2021 02:51 PM

Hello,
I'm currently interesting to use AppVeyor as build and deployment tool for my little game.
I already installed an AppVeyor Server with an AppVeyor Storage on a windows 10 pro.
We are a little team of two people and we can't afford the cost of a cloud build at the moment, we are still prototyping so we were planning to use one of our pc as a build machine (i9, gtx2070 and 16Go Ram), also gpu is required to build our game.

The AppVeyor Server work perfectly without the cache, but we use git lfs extensively for all our asset files, 3dmodels, textures, audio, ...

I already setup my appveyor.yml file to use the cache for lfs following this topic :
git lfs and build cache

The issue is that I don't manage to install properly the AppVeyor Storage package into my system. When I start a build the build fail instantly with this message (also in the screenshot below): "An unexpected error occurred invoking 'GetBuildCacheItems' on the server." cacheissue

I followed this tutorial about appveyor-storage

  • That is the first time that I use IIS, so I probably messed up something with the website configuration here, my second attempt with http configuration is below (screenshot 1), I avoided https because everything is local so I thought http would be more simple to setup.
  • I also dig the event logger of the tutorial, but it's displaying a generic error 400 (Bad Request) (screenshot 2).

website config
websiteconfig

event log
log-error

This is probably a right access problem, but I can't seem to figure out what's wrong with the actual setup.
I have two user, one named "appveyor" setup by the appveyor-server.msi install and a second one named "appveyor-cache" that I created specially to start and run the AppVeyor Storage package.

Do you have any idea of what could cause this kind of issue?
I can share the web.config, and appveyor.yml files if needed.

  1. Support Staff 1 Posted by Feodor Fitsner on 11 Oct, 2021 09:45 PM

    Feodor Fitsner's Avatar

    Hey,

    Thanks for trying out AppVeyor Server!

    To avoid struggling with IIS and its permissions we have converted Storage Server app into .NET Core run in Kestrel. You can download the latest version here: https://appveyordownloads.blob.core.windows.net/appveyor/7.0.3083/a...

    There is appsettings.json configuration file with server settings and appveyor-blob-storage-server.exe is server executable.

    Let me know if you have any questions.

  2. 2 Posted by Babiole on 12 Oct, 2021 02:19 PM

    Babiole's Avatar

    Hello @Feodor Fitsner,

    Thank you for your quick reply this is exactly what I was missing :).
    The AppVeyor Storage seems to run properly.

    However I'm stuck with another issue with the cache system : "Error compressing cache item: The system cannot find the file specified.."

    issue_img I'm sure the path I'm trying to cache is a valid path when the project is building.
    But when the build end, this folder is deleted, so I'm wondering if the caching procedure append after this folder suppression?
    Also I can't access the log file inside the red message because apparently this log file is deleted or doesn't exist.

    The cache is configured like this inside the appveyor.yml :
    appveyor.yml

    And the appsettings.json is setup like this :
    appsettings.json

  3. Support Staff 3 Posted by Feodor Fitsner on 12 Oct, 2021 07:16 PM

    Feodor Fitsner's Avatar

    Caching relies on 7z.exe which must be installed in the image and added to PATH.

  4. 4 Posted by Babiole on 12 Oct, 2021 08:22 PM

    Babiole's Avatar

    Thanks,
    After installing 7z and updating the path, the build and cache building are successful.
    When i go to the cache-data folder I can see the archive, and the size seems right.
    So everything look good on the first successful build.

    But on subsequent builds, the cache isn't been pulled/used before clone_script, and build_script stage. The cache is just updated at the end of build.

    Do I need to configure something on the AppVeyor Server app to pull the cache?

  5. 5 Posted by Babiole on 12 Oct, 2021 10:16 PM

    Babiole's Avatar

    Hey,
    I found what was wrong :
    The issue was that AppVeyor Server was building the project into c:\users\appveyor\projects\projetname-uid (uid was changing every time), instead of c:\users\appveyor\projects\projetname. I cleared manually the projects folder, and know it's correctly building inside the same folder each time, and the cache is pull properly.

    Thank you again for your help, you saved me a ton of time!

  6. Support Staff 6 Posted by Feodor Fitsner on 13 Oct, 2021 05:54 AM

    Feodor Fitsner's Avatar

    You are welcome!

  7. Feodor Fitsner closed this discussion on 13 Oct, 2021 05:54 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac