Hi,
Which devOps account to use when working with the implementation project for D365 Finance and Operations; partner or Customer devOps?
-> you should use a customer account as the customer is the owner to code you are developing.
The above point raises a new question, how a partner can implement their customizations if the partner doesn't want to reveal their source code to the customer. If the partner wants to use customer devOps then their source code will be on the customer devOps!!
-> This is applicable when a partner is ISV and the code which is being developed is IP of ISV partner. When you are implementing the code for customer, it is for a particular customer and not as IP for yourself. Of course, if you have different arrangements with the customer then this may not be applicable. In that scenario. you need to have you own DevOps project and just deploy the deployable package to the customer environment.
Is it safe to create deployable packages based on model file using Visual Studio without the build environment? Then deploy to customer's environment that way the source code is still hidden!!
-> yes as suggested above you need to have your own DevOps, you MUST have your own DevOps, you may skip the build environment and use DevOps hosted build agent to generate the build. But do not develop any code without DevOps otherwise you will lose all the code if something happens to dev vm. And you will never be able to get back that code without DevOps. This is extremely important.