Portals apps seem to be designed for AppSource.
What about Azure Marketplace? If you build a prototype app in Portals and then want to publish the app to Azure Marketplace, what are the best practices for doing so?
I found this article but it was published several months ago so may be outdated
https://swimburger.net/blog/dynamics/how-to-deploy-power-apps-portals-using-azure-pipelines
Per the Portals website,
Reducing call volume by 90 percent with Power Apps portals during the COVID-19 pandemic enabled the City of Kobe to help millions of citizens at scale.
Microsoft Power Platform ISV Studio - Power Apps | Microsoft Docs
ISV Studio supports applications built on the Microsoft Dataverse that are published to and deployed through AppSource.
PowerApps ISV Studio is now available for public preview | Microsoft Power Apps
If I can create an AppSource package for the Portals app, I should be able to publish the Portals app to AppSource.
To publish an app to AppSource, it seems I need to create a Dynamics 365 package.
Step 3: Create an AppSource package for your app (Microsoft Dataverse) - Power Apps | Microsoft Docs
A package lets you bundle and deploy multiple files related to your app at once.
Create a Dynamics 365 package to include the solution and configuration data files that you created in Step 2: Create a managed solution for your app. A package can also contain custom code that can run before, while, or after the package is deployed to the Microsoft Dataverse instance. For more information about creating a package file, see Create packages for the Package Deployer.
After you have created a package, your package will consist of the following things:
<PackageName> folder: This folder contains all solutions, configuration data, flat files, and the contents for your package. For example: PkgFolder.
<PackageName>.dll: The assembly contains the custom code for your package. For example: SamplePackage.dll.
Next, create a [Content_Types].xml file that provides MIME type information of the file type extensions that are included in your package. This is separate from the one that will be included again in the AppSource package. Here is the sample contents of a Content_Types].xml file with file types listed:
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="xml" ContentType="application/octet-stream" />
<Default Extension="xaml" ContentType="application/octet-stream" />
<Default Extension="dll" ContentType="application/octet-stream" />
<Default Extension="zip" ContentType="application/octet-stream" />
<Default Extension="jpg" ContentType="application/octet-stream" />
<Default Extension="gif" ContentType="application/octet-stream" />
<Default Extension="png" ContentType="application/octet-stream" />
<Default Extension="htm" ContentType="application/octet-stream" />
<Default Extension="html" ContentType="application/octet-stream" />
<Default Extension="db" ContentType="application/octet-stream" />
<Default Extension="css" ContentType="application/octet-stream" />
<Default Extension="json" ContentType="application/octet-stream" />
<Default Extension="msapp" ContentType="application/octet-stream" />
</Types>
Compress (zip) the following files into a file called package.zip:
package folder (PkgFolder)
package dll (SamplePackage.dll)
[Content_Types].xml
To compress these files, browse to the folder where these files are present, select them all, right-click and select Send to > Compressed (zipped) folder.
Rename the .zip file to package.zip.