Need some more information:
- How is your package share configured (exists on the publishing server, on a network share, etc)?
- Is the SQL server a standalone instance or on the Publishing Server machine?
If the DB is on its own SQL Server you would migrate the database, and then install the publishing server service on the new VM and add them via the management console. You would then remove the old publishing servers via the management console.
I just did this in our environment to get from Server 2008 to Server 2016.