In progress
To create custom widgets and themes for ArcGIS Enterprise you will need to install Web AppBuilder (Developer Edition).
https://developers.arcgis.com/web-appbuilder/guide/getstarted.htm
https://developers.arcgis.com/web-appbuilder/guide/build-your-first-app.htm
https://developers.arcgis.com/web-appbuilder/guide/get-started.htm
Tips
Getting started
When running Web AppBuilder, use your lower case machine name or FQDN instead of localhost or an IP address
Ensure CORS settings are clear in the target ArcGIS Enterprise, or that your machine name/FQDN above is white listed
Organization → Edit Settings → Security → Allow Origins
Editing Widgets
https://gis.stackexchange.com/questions/246253/refreshing-web-appbuilder-widget-during-development
Publishing
First, you cannot publish custom widgets back to the WAB built into Enterprise/Portal, as per this: https://community.esri.com/thread/121410
You can publish apps which use custom widgets and themes by following these steps:
There are also instructions included in your new custom app in the ./readme.html document.
Azure storage static sites
These applications can be hosted in Azure Storage Accounts using the static site feature.
Update env.js to supply an apiUrl, as a local relative path is assumed
apiUrl = "https://js.arcgis.com/3.29",
Create a static site by following this documentation:
Use Microsoft Azure Storage Explorer to copy your app
From …\WebAppBuilderForArcGIS\server\apps
To $web
Follow the remaining steps to
Add the app as content and register the web app
Continuous Integration
Since the AppID needs to be registered we can’t reuse the same app on multiple platforms. Once an app has been added and registered we can update the source to keep it up to date. Pipelines that write that blob storage should be easily configured.