Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

ProGet: move storage paths



  • My apologies if this isn't covered elsewhere, i searched pretty deeply in the docs and this forum and haven't found anything.

    We originally set up ProGet to keep its packages in C:\ProgramData\ProGet\Packages\..., but we want to move the data storage to the D: drive, as that's a better practice, and it also has 1TB space on it vs 100GB on C:, which we have hit a few times.

    What is the least friction way to do this? This doc says,

    When you change a feed's disk directory... the package files will not be moved.

    One thing I can think of is to move the storage root path to D:/something, and then set up a Drop Path of the existing location. Would that result in all of the packages being copied correctly into the new location? Would any metadata be lost? Is there a better way?

    Thanks!


  • inedo-engineer

    Hi @mcascone ,

    Good question; the documentation isn't very clear. How do you feel about this, I just updated the docs :)


    If you want to change the directories your packages are stored, you'll also need move/copy the contents from the current location to the new location. We generally recommend:

    1. Scheduling a downtime and notifying your users
    2. Changing the desired settings in ProGet
    3. Disable the feed or ProGet application entirely
    4. Transferring the files to the new location
    5. Enabling ProGet again

    You can also keep ProGet online the entire time; this will just cause a number of "package file not found" errors if anyone tries to download the package before the transfer is complete.

    Depending on how many packages files you have, transferring may require a significant amount of time; you may not wish ProGet to be offline or for users to experience errors during the process. In this case, we recommend first mirroring the files using a tool like robocopy /MIR a few times (just in case packages were uploaded during the initial copy), and then changing the settings in ProGet.



  • Thanks Alana!

    Would my Drop Path idea work for this, and reduce the manual steps?

    Also - if we change the path without changing anything else, will proget just start keeping new packages in the new path, and still be able to access the old path?


  • inedo-engineer

    @mcascone the drop path isn't really designed for this, and I wouldn't recommend that approach; it would have the effect of "overwriting" the packages, which may set new publish dates, and cause server-side metadata (like package counts) to reset

    Also - if we change the path without changing anything else, will proget just start keeping new packages in the new path, and still be able to access the old path?

    No; you'd get "package file not found errors", since the disk path is always constructed from those values.



  • Just wanted to come back to say this worked; I did it during work hours and there weren't any downtime issues. (I made sure to communicate that there might be some, no one complained.)

    I did have to revert the config change after my first attempt, because it couldn't find any files. I think I did the manual drag-n-drop of the Packages folder to the new location incorrectly - creating Packages/Packages/. On my second run I used RoboCopy and it worked great.

    I also had to set the permissions on the new folder location to include the NETWORK SERVICE user, which ProGet is running as, with full access. Maybe I should have used the robocopy command that copies perms as well, but it all seems to be working now.


  • inedo-engineer

    Hi @mcascone,

    Thanks for following up and letting us know this worked!

    Thanks,
    Rich


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation