Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    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!

    How to upgrade BuildMaster from 5.8.3 to latest version 6.2

    Scheduled Pinned Locked Moved Support
    45 Posts 3 Posters 91 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      aleksandarsh_4585 @atripp
      last edited by

      @atripp Yes, Application page is not available and I receive the error:

      dfc9e6d9-fbb6-4c34-8de2-3f6ce3e6842f-image.png

      But we would like to try to install the latest 6.2 version on a new server and to try to migrate all data from this issued one 6.1.27 in order to check if we can successfully bring up the BM.

      Can you please share with me the migration toll which I will need to use?
      And if there is documentation with details, what I will need to take(make backup and transfer) from the 6.1.27 version to the latest version 6.2.

      1 Reply Last reply Reply Quote 0
      • A Offline
        aleksandarsh_4585
        last edited by

        @atripp said in How to upgrade BuildMaster from 5.8.3 to latest version 6.2:

        /applications/4

        Sorry I have provided to you again the same error message from /all-applications.

        Please find the error message from /applications/4

        System.TypeLoadException: Could not load type 'Inedo.BuildMaster.Web.CustomEditorAttribute' from assembly 'BuildMasterCore, Version=6.1.27.1, Culture=neutral, PublicKeyToken=112cfb71329714a6'.
        at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
        at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
        at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
        at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)
        at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
        at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
        at Inedo.ReflectionExtensions.GetCustomAttributes[T](ICustomAttributeProvider member)
        at Inedo.Serialization.Persistence.<FindAlternateType>g__findType|20_0(IEnumerable1 types, <>c__DisplayClass20_0& ) at Inedo.Serialization.Persistence.FindAlternateType(String typeName, String assemblyName) at Inedo.Serialization.Persistence.CreateInstance(String assemblyName, String typeName) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.BuildMaster.Pipelines.Pipeline.CreateFromTable(Pipelines pipelineInfo) at Inedo.BuildMaster.Web.WebApplication.Controls.ReleaseStagesTimeline..ctor(Int32 applicationId, String releaseNumber, Nullable1 pipelineId)
        at Inedo.BuildMaster.Web.WebApplication.Controls.ReleaseOverview..ctor(Releases_Slim release)
        at Inedo.BuildMaster.Web.WebApplication.Pages.Applications.ApplicationOverviewPage.<>c.<CreateChildControls>b__6_0(Releases_Slim r)
        at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
        at Inedo.Web.Controls.Element.<GetControlsFromArgument>d__41.MoveNext()
        at Inedo.Web.Controls.Element..ctor(String elementType, Object[] content)
        at Inedo.Web.Controls.Layout.TitledContainer..ctor(TitledContainerHeading heading, Object[] content)
        at Inedo.BuildMaster.Web.WebApplication.Pages.Applications.ApplicationOverviewPage.CreateChildControls()
        at Inedo.BuildMaster.Web.WebApplication.Pages.BuildMasterSimplePage.<InitializeAsync>d__8.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
        at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        at Inedo.BuildMaster.Web.WebApplication.Pages.Applications.ApplicationOverviewPage.<InitializeAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
        at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        at Inedo.Web.PageFree.SimplePageBase.<ProcessRequestAsync>d__47.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
        at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        at System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar)
        at System.Web.HttpApplication.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar)
        at System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar).

        Also is there any toll to make a backup on my BM server (to collect all data) so I can transfer that on the new server where I will have 6.2 toll to take all that data?

        1 Reply Last reply Reply Quote 0
        • A Offline
          aleksandarsh_4585
          last edited by

          Also before installing the new 6.2 version, should I take a backup of BM db 6.1 and restore on the new server and then to run the installer of 6.2?

          1 Reply Last reply Reply Quote 0
          • rhessingerR Offline
            rhessinger inedo-engineer
            last edited by

            Hi @aleksandarsh_4585 ,

            Would you be able to send over a screenshot of your extensions page?

            I think the best way to migrate this application is to install a fresh install of BuidMaster 6.2 and use option 3 from the release notes which is to export your application and reimport it into 6.2.

            Export a single application from BuildMaster at a time into a universal package, and import that package into your new BuildMaster 6.2 instance. This will give you a good opportunity to discover any issues and to gradually migrate your applications to the new instance as you are able.

            Generally, this approach will work best if you have a large number of applications, and some of them rely on legacy features that have been removed in BuildMaster 6.2. This way, you can bring over applications as the legacy dependencies are removed to take advantage of new features and capabilities, while still retaining the original instance for risk mitigation.

            You can view the documentation for backing up and restoring applications here.

            Thanks,
            Rich

            Products Engineer, Inedo

            A 1 Reply Last reply Reply Quote 0
            • A Offline
              aleksandarsh_4585 @rhessinger
              last edited by

              Hi@rhessinger

              I have tried to make a backup but with no success.
              I have Opened Backup Applications and under Package Source, I don't understand what exactly I need to write, because from the documentation it says file://{PACKAGE PATH}, this Package path means where the backup to be stored or I need first to have already generated package?
              I have tried with adding into Feed URL: file://C:/Backup - (Backup is the folder name which I have created in C). Also, I have tried to create with writing directly the path without file: I have just written C:/Backup but again I got the same error.
              Display name: BM
              Package type: Universal
              Credential: I have left this part as anonymous.
              After I click Save Package Source and I click on Backup Applications it is giving me the following error:
              Is there something that I miss or writing wrong?

              Unhandled exception: System.TypeLoadException: Could not load type 'Inedo.BuildMaster.Web.CustomEditorAttribute' from assembly 'BuildMasterCore, Version=6.1.27.1, Culture=neutral, PublicKeyToken=112cfb71329714a6'.
              at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
              at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
              at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
              at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)
              at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
              at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
              at Inedo.ReflectionExtensions.GetCustomAttributes[T](ICustomAttributeProvider member)
              at Inedo.Serialization.Persistence.<FindAlternateType>g__findType|20_0(IEnumerable1 types, <>c__DisplayClass20_0& ) at Inedo.Serialization.Persistence.FindAlternateType(String typeName, String assemblyName) at Inedo.Serialization.Persistence.CreateInstance(String assemblyName, String typeName) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.Serialization.Persistence.DeserializeFromXElement(XElement objElement, Type expectedType) at Inedo.BuildMaster.Pipelines.Pipeline.CreateFromTable(Pipelines pipelineInfo) at Inedo.BuildMaster.Applications.ImportExport.ExportedPipeline..ctor(Pipelines p) at Inedo.BuildMaster.Applications.ImportExport.ExportApplicationExecution.<>c__DisplayClass60_2.<ExportApplicationAsync>g__selectAndStorePipeline|8(Pipelines p) at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
              at Inedo.BuildMaster.Applications.ImportExport.ExportApplicationExecution.WriteJson[T](ZipArchive zip, String entryName, IEnumerable`1 jsonArray)
              at Inedo.BuildMaster.Applications.ImportExport.ExportApplicationExecution.<ExportApplicationAsync>d__60.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
              at Inedo.BuildMaster.Applications.ImportExport.ExportApplicationExecution.<ExecuteAsync>d__59.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Inedo.BuildMaster.Windows.ServiceApplication.Executions.ManualExecution.<ExecuteAsync>d__8.MoveNext()

              1 Reply Last reply Reply Quote 0
              • A Offline
                aleksandarsh_4585
                last edited by

                Is there any tool to make a full backup? or some commands which I can use in order to make a backup and restore on the new server?

                Regarding the reported issue for backup error, If I'm writing the fields correctly and it is all good it can be an issue because the application page is not working on my side.
                Because of that, I'm looking for some other type of backup.
                Also is there any way to use backup made from 5.8.3 BM version to be transferred on BM 6.2 version?
                I have a backup from 5.8.3 with all features working inside.
                My point is whether we can use this backup and restore it on 6.2?

                1 Reply Last reply Reply Quote 0
                • rhessingerR Offline
                  rhessinger inedo-engineer
                  last edited by

                  Hi @aleksandarsh_4585 ,

                  I'm currently looking into if you can back up from a version older than 6.1.

                  I did want to verify that you have the latest extensions installed in your 6.1 instance. I would also recommend restarting IIS (or the independent web server if you are using that) and the BuildMaster service. Would you be able to take screenshot of your extensions page? The error you sent out is typically an error caused by a missing extension. In these cases, it will also cause your build pipeline page to error on load. That could explain why you can't load your application when you click on it.

                  You might be able to see what extension is failing by going to /pipelines/edit-json?pipelineId=464. Could you also try that?

                  Thanks,
                  Rich

                  Products Engineer, Inedo

                  A 1 Reply Last reply Reply Quote 0
                  • A Offline
                    aleksandarsh_4585 @rhessinger
                    last edited by

                    Hi @rhessinger,

                    I have taken a screenshot from the extensions, please check and let me know if you need more details.

                    3926bda3-6719-40da-afa5-5785874a0843-image.png

                    1 Reply Last reply Reply Quote 0
                    • atrippA Offline
                      atripp inedo-engineer
                      last edited by

                      That error message looks like it's the PipelinePage, not the Extensions page...

                      I think you've got a severe configuration problem on the server still. Between multiple databases, and "impossible" errors, I think you should try this...

                      Start with a totally new server.
                      Install BuildMaster 6.1, fresh installation
                      ensure it works (run the tutorial application)
                      Restore your database to that server.

                      From there, go to Admin > Extensions, and install what extensions you need.

                      A 1 Reply Last reply Reply Quote 0
                      • A Offline
                        aleksandarsh_4585 @atripp
                        last edited by

                        Hi @atripp, let's try your recommendation but please give me direct steps.

                        1. How to make a backup on BM5.8?
                        2. How to restore the backup on BM 6.1?
                        3. After I install BM 6.1 fresh installation can I only take SQL backup from BM 5.8 and import to SQL BM 6.1 and everything will work properly?
                        4. I need to guide me what first to do so I can make all the process properly.
                        1 Reply Last reply Reply Quote 0
                        • atrippA Offline
                          atripp inedo-engineer
                          last edited by atripp

                          Hello;

                          Given the problems with the existing server, here is my recommend:

                          1. Install BuildMaster 6.1 on a new server.
                          2. Verify it works
                          3. Stop WebApp and Service
                          4. Restore 5.8 Database on BuildMaster 6.1 server
                          5. Manually upgrade newly-restored 5.8 database using the 6.1 version of manual package (use the dbupdater command from the manual install)

                          Manual install guide for the database: https://docs.inedo.com/docs/buildmaster/installation-and-maintenance/installation-guide/manual

                          Backup and Restore instructions are here: https://docs.inedo.com/docs/buildmaster/installation-and-maintenance/backing-up

                          A 1 Reply Last reply Reply Quote 0
                          • A Offline
                            aleksandarsh_4585 @atripp
                            last edited by

                            Hi @atripp,

                            I have gone through your steps, 1,2,3,4,5 - on this I got stuck.
                            I have updated the DB but now when I try to start the BuildMaster Service it is stopping with the following message:

                            7407c688-a75a-48a4-98aa-40da1fede45e-image.png .

                            From EventWiever logs I got the following error:

                            7903c914-d31b-469e-8725-57c2e1e394b2-image.png

                            I have tried with restarting the Server but still got the same issue.

                            What I can understand there is some issue with the db upgrade.

                            Also just to let you know the hub for upgrading 6.1.27 and installing that version is not working at all.
                            Only uninstall is working from this hub.

                            I have made a new image of my BM fro production and created new server. I have successfully started the BM 5.8 copy, everything was working properly but when I upgrade again the version to 6.1.27 using the hub again I got the same issues that I have already reported to you.
                            So I have uninstalled the BM, removed the db and tried to install using the hub. The hub did not install the 6.1.27 BM so I have deleted everything and downloaded the installer.
                            After the installer finished I got up and running 6.1.27 version.
                            I have stopped the services, restored the db from 5.8 version and extracted the dbupdater.
                            After dbupdater finished I have tried to start the service and I was unable.
                            It can be some issue with dbupdater? Is there another way?
                            I can't see any other way how to do this update.
                            Please check with your dev team. If you need I can send you my db or give you access from my server.
                            Let's fix this issue.

                            A 1 Reply Last reply Reply Quote 0
                            • A Offline
                              aleksandarsh_4585 @aleksandarsh_4585
                              last edited by

                              @aleksandarsh_4585

                              ![0_1587476070357_b0f910aa-382b-4eca-964e-907ce31d1c54-image.png](Uploading 100%)

                              1 Reply Last reply Reply Quote 0
                              • A Offline
                                aleksandarsh_4585
                                last edited by

                                f09f498a-3cc3-4158-b7d4-d8dd403818b9-image.png

                                1 Reply Last reply Reply Quote 0
                                • atrippA Offline
                                  atripp inedo-engineer
                                  last edited by

                                  OK; at this point, I think it's going to best to schedule some one-one-one review time with our engineering team.

                                  I will start the process on this end, but can you please open a ticket at here - https://my.inedo.com/tickets/new

                                  You can write "6.2 UPGRADE" in the "How can we help", and include any other emails you'd like us to be in touch with in the form as well. Then we will work and get stuff scheduled!

                                  1 Reply Last reply Reply Quote 0
                                  • rhessingerR Offline
                                    rhessinger inedo-engineer
                                    last edited by

                                    Hi @aleksandarsh_4585 ,

                                    I wanted to put the final solution in this thread for what solved the error. It looks like the issue was around which extensions were installed. After upgrading to 6.1, you needed to enable the legacy features in Administration > Advanced Settings and install the Legacy extensions in Administration > Extensions. We also had to uninstall and extensions that had errors loading including Amazon, Jira, and Jenkins and only leave the legacy versions installed.

                                    Thanks,
                                    Rich

                                    Products Engineer, Inedo

                                    1 Reply Last reply Reply Quote 0

                                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                    With your input, this post could be even better 💗

                                    Register Login
                                    • 1
                                    • 2
                                    • 3
                                    • 2 / 3
                                    • First post
                                      Last post
                                    Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation