207b426b7f | ||
---|---|---|
.github/workflows | ||
pac | ||
portal/starter-portal | ||
solution | ||
src | ||
.gitattributes | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
SUPPORT.md | ||
dataverse.config.js | ||
package-lock.json | ||
package.json | ||
webpack.config.js |
README.md
Power Apps Portals ALM Sample
This project provides a starting point for applying ALM best practices to your Power Apps Portals projects. It adopts two major tenets:
- Establish source control as the definitive source of truth
- Fully automate commits, builds, and deployments.
Prerequisites
- A GitHub account
- Access to two existing Dataverse environments (one for "development" and one for "production")
- Note: The environments do not both need to be in the same tenant.
- One Dataverse starter portal provisioned in each environment
- One application user with the System Administrator role in each environment
- Note: You can either use a single application user for both environments (if they are in the same tenant) or a separate application user for each environment.
- (Optional) GitHub Enterprise
Setup
- Either fork this repository or use it as a template.
- Note: Because this project uses environments, you must create either a public repository or a private repository for GitHub Enterprise.
- Set up the environments in your repository (outlined below):
- From your repository home page, click Settings.
- Click Environments.
- Click New environment.
- For the name, type development. Click Configure environment.
- Under Environment secrets, click Add Secret.
- For Name, type URL.
- For Value, provide the URL of your development environment, e.g. https://my-awesome-dev.crm.dynamics.com/.
- If you are using separate application users for each environment, or if you are using separate tenants, repeat steps v-vii to create the following secrets:
- APPLICATION_ID: Application (client) ID of your application user, e.g. 01234567-89ab-cdef-0123-456789abcdef
- CLIENT_SECRET: A client secret for your application user, e.g. 1f7~GP48Pi17T-R.4uyIU7_kOiV2NCnH_Q.
- TENANT_ID: The Directory (tenant) ID that your development environment is provisioned in, e.g. fedcba98-7654-3210-fedc-ba9876543210.
- Repeat steps i-viii for your production environment.
- If you are using a single application user for both environments, add its information to your repository as secrets (outlined below):
- In the left-hand navigation of your repository's Settings page, click Secrets.
- Click New repository secret.
- For Name, type APPLICATION_ID.
- For Value, provide the application (client) ID of your application user, e.g. 01234567-89ab-cdef-0123-456789abcdef.
- Repeat steps ii-iv to create the following secrets:
- CLIENT_SECRET: A client secret for your application user, e.g. 1f7~GP48Pi17T-R.4uyIU7_kOiV2NCnH_Q.
- TENANT_ID: The Directory (tenant) ID that your development environment is provisioned in, e.g. fedcba98-7654-3210-fedc-ba9876543210.
- Run the Provision Dev workflow (outlined below):
- Click Actions.
- Click Provision Dev.
- Click Run workflow > Run workflow.
- (Optional) Using the same steps outlined in step 4, run the CI/CD workflow.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.