SlideShare a Scribd company logo
PowerApps Azure DevOps Build Tools
Automate your Dynamics 365 CE / Powerapps Build and Release process
Joost Veldhuis
PowerApps, Dynamics 365 CE
Technical Consultant
Macaw
@JJJVeldhuis
Joost.Veldhuis@macaw.nl
Linkedin.com/in/JoostVeldhuis
Agenda
• What is Application Lifecycle Management
• Solutions and Layering
• Managed vs Unmanaged
• ALM Health Check
• Source Control
• Azure DevOps
• PowerApps Build Tools
What is Application Lifecycle Management (ALM)?
ALM is an overarching concept that spans multiple teams:
• Admin Services for Environment Management
• Dev Experience and tooling Team
• Makers for citizens developer experience
• Platform for solution model and application install
Why Is ALM important?
• Automate the process
• Less errors while deploying
• All “code” is stored on a managed centralized environment.
• Run tests before the solution is deployed
• Error handling
• Better quality in Production
What is a solution?
Solutions are how customizers and
developers author, package, and
maintain PowerApps and Dynamics
Solutions are created and authored
by a Publisher
Solution
Data Model
Entities
Attributes
Forms
Views
Charts
Relationships
Global Option Sets
User Interface
Web Resources
JavaScript Libraries
Dashboards
Ribbon (command bar)
Sitemap
Dialogs
Process/Code
Assemblies
Custom Activities
Plug-ins
Workflow Definitions
Workflow
Business Process
Rules
Other
Reports
Templates
Security Roles
FLS Profiles
System Settings (transport only)
Virtual Entities
Web Hooks
App Modules
Layering
Application Behaviour
System Layer*
CDS Managed Layer
What the user sees
Managed Layers
1 per managed solution
Unmanaged “layer”
System Solution*
Base CDS entities
Managed Solutions
Unmanaged Customizations
Unmanaged
Solution C Unmanaged
Solution D
Managed Solution B
Managed Solution A
Layering occurs on import of solutions when a
specific component is affected by change
within one or more solution
Layers describe the dependency chain of
component from the root solution introducing
it, through each solution that extends or
changes the component’s behavior
Layers are created through extension of an
existing component (taking a dependency on it)
or through creation of a new component or
version of a solution.
Important:
Layers should be considered on a per-
component basis. Although typically drawn to
convey the effect of a solution on another
solution, this is always at a component or sub-
component level.
Managed vs Unmanaged
• Non development environment
• Test, UAT, Prod
• Generated by Build server
• Based on Build Artifact
• Easily manageable
• Easy Delete of All Components
in the Solution
• Development environment
• Created by “developers”
• Basis for Build Artifact
• The source for Build and Release
pipeline
• Deleting Solution does not delete
Components
Fundamentals: ALM Health Check
 Source Control definitive source of truth
 Are you Releasing as managed?
 Are your Dev environments disposable?
 Developer isolation?
 Using SolutionPackager?
Fundamentals: Solution Health Check
Solution segmentation?
Supported techniques only?
Testing in UC and using AppModules?
Single publisher?
Solution Checker? Only have your managed dependencies installed?
SourceControl
• A central place to store everything you deploy to production-like
environments
• Managed way of making changes
• Ruleset on who and how the changes are implemented
• Centralized vs. Distributed
• Git, Github, BitBucket, Team Foundation Services (TFS)
Azure DevOps
• Plan smarter, collaborate better and ship faster
with a set of modern dev services
• Easy collaboration
• Build/Release
• SourceControl Management
• Agile/Scrum Boards
Getting started, faster
Initiate
Build and Walk away
Build
Automated, Predictive, Repeatable
Release
Run Solution
CheckerPack Solution
Run
Integration
Test
Run Unit TestRun Unit Test
Run Solution
Checker
Export
Solution
Unpack to
Repo
ALM Powered by Azure DevOps
Initial Build Pipeline instantiates pristine
Development Environment daily
Automated Release Pipeline removes manual steps. Weekly, daily or hourly
releases becomes the new standard
Build Pipeline Automates manual steps.
No more upload to Solution checker and
manually export solution, unpack and
push to repo
Provision
Environment
Deploy
Dependencies
Pack Source
Code from
Repo
Import
Solution
Powered by Azure DevOps and Git
Import as
unmanaged
Increment
Version
Export
Managed
PowerApps Build Tools
• Azure DevOps Task for Automating deployments
• Uses Serviceconnections with Environments
• Import, Export, Publish
• (un)Packing, Package Deployer
• Solution Checker
Demo
Creating Build/Release with PowerappsBuild tools
To Conclude
• Use SourceControl to store solutions and customizations
• Automate Build/Release process with PowerApps Build Tools
• Managed on every environment except development
Usefull Links
http://marketresearchjournalist.com/2019/07/02/application-lifecycle-management-market-development-trend-2019-to-2025/
https://www.inflectra.com/spirateam/highlights/understanding-alm-tools.aspx
https://github.com/microsoft/PowerApps-Samples/tree/master/azure/build-tools
https://azure.microsoft.com/en-in/services/devops/
Question?
Taurusavenue 16E | 2132 LS Hoofddorp | +31 23 2060 600 | info@macaw.nl | www.macaw.nl
Ad

More Related Content

What's hot (20)

Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
Mariano Cunietti
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
Felipe Artur Feltes
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
Rahul Nath
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
GlobalLogic Ukraine
 
Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using Terraform
Adin Ermie
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
Lorenzo Barbieri
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucket
jeetendra mandal
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
1 - Introduction of Azure DevOps
1 - Introduction of Azure DevOps1 - Introduction of Azure DevOps
1 - Introduction of Azure DevOps
Bhaumik Patel
 
Intro to Azure DevOps
Intro to Azure DevOpsIntro to Azure DevOps
Intro to Azure DevOps
Lorenzo Barbieri
 
Terraform on Azure
Terraform on AzureTerraform on Azure
Terraform on Azure
Julien Corioland
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
Callon Campbell
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
Mithun Shanbhag
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Weaveworks
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
Cambay Digital
 
Power Platform ALM fundamentals - MPPC23
Power Platform ALM fundamentals - MPPC23Power Platform ALM fundamentals - MPPC23
Power Platform ALM fundamentals - MPPC23
Tomasz Poszytek
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Big Compass
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
jstack
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
Mariano Cunietti
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
Rahul Nath
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
GlobalLogic Ukraine
 
Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using Terraform
Adin Ermie
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
Lorenzo Barbieri
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucket
jeetendra mandal
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
1 - Introduction of Azure DevOps
1 - Introduction of Azure DevOps1 - Introduction of Azure DevOps
1 - Introduction of Azure DevOps
Bhaumik Patel
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Weaveworks
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
Cambay Digital
 
Power Platform ALM fundamentals - MPPC23
Power Platform ALM fundamentals - MPPC23Power Platform ALM fundamentals - MPPC23
Power Platform ALM fundamentals - MPPC23
Tomasz Poszytek
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Big Compass
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
jstack
 

Similar to Azure Devops Build Tools for Powerapps (20)

release management
release managementrelease management
release management
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle Management
Thomas Eldblom
 
DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdf
Debasish Das
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
Serena Software
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
Vishnu Raju Datla
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
Abdullah al Mamun
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
Abdullah al Mamun
 
DevOps
DevOpsDevOps
DevOps
Stefano Galati
 
DevOps model in software engineering.pptx
DevOps model in software engineering.pptxDevOps model in software engineering.pptx
DevOps model in software engineering.pptx
RenyJose3
 
Crm saturday madrid 2017 razwan - d365 solution release management
Crm saturday madrid 2017   razwan - d365 solution release managementCrm saturday madrid 2017   razwan - d365 solution release management
Crm saturday madrid 2017 razwan - d365 solution release management
Demian Raschkovan
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
UtpalenduChakrobortt1
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
Willy-Peter Schaub
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
DevOps Enterprise Summit
 
What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE? What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE?
7Targets AI Sales Assistants
 
Dev ops concept
Dev ops conceptDev ops concept
Dev ops concept
Professional Guru
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Sam Garforth
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
Synerzip
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle Management
Thomas Eldblom
 
DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdf
Debasish Das
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
Serena Software
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
Vishnu Raju Datla
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
Abdullah al Mamun
 
DevOps model in software engineering.pptx
DevOps model in software engineering.pptxDevOps model in software engineering.pptx
DevOps model in software engineering.pptx
RenyJose3
 
Crm saturday madrid 2017 razwan - d365 solution release management
Crm saturday madrid 2017   razwan - d365 solution release managementCrm saturday madrid 2017   razwan - d365 solution release management
Crm saturday madrid 2017 razwan - d365 solution release management
Demian Raschkovan
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
DevOps Enterprise Summit
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Sam Garforth
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
Synerzip
 
Ad

Recently uploaded (20)

Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Top 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdfTop 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdf
AffinityCore
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game DevelopmentBest Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Juego Studios
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Top 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdfTop 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdf
AffinityCore
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game DevelopmentBest Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Juego Studios
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Ad

Azure Devops Build Tools for Powerapps

  • 1. PowerApps Azure DevOps Build Tools Automate your Dynamics 365 CE / Powerapps Build and Release process
  • 2. Joost Veldhuis PowerApps, Dynamics 365 CE Technical Consultant Macaw @JJJVeldhuis [email protected] Linkedin.com/in/JoostVeldhuis
  • 3. Agenda • What is Application Lifecycle Management • Solutions and Layering • Managed vs Unmanaged • ALM Health Check • Source Control • Azure DevOps • PowerApps Build Tools
  • 4. What is Application Lifecycle Management (ALM)? ALM is an overarching concept that spans multiple teams: • Admin Services for Environment Management • Dev Experience and tooling Team • Makers for citizens developer experience • Platform for solution model and application install
  • 5. Why Is ALM important? • Automate the process • Less errors while deploying • All “code” is stored on a managed centralized environment. • Run tests before the solution is deployed • Error handling • Better quality in Production
  • 6. What is a solution? Solutions are how customizers and developers author, package, and maintain PowerApps and Dynamics Solutions are created and authored by a Publisher Solution Data Model Entities Attributes Forms Views Charts Relationships Global Option Sets User Interface Web Resources JavaScript Libraries Dashboards Ribbon (command bar) Sitemap Dialogs Process/Code Assemblies Custom Activities Plug-ins Workflow Definitions Workflow Business Process Rules Other Reports Templates Security Roles FLS Profiles System Settings (transport only) Virtual Entities Web Hooks App Modules
  • 7. Layering Application Behaviour System Layer* CDS Managed Layer What the user sees Managed Layers 1 per managed solution Unmanaged “layer” System Solution* Base CDS entities Managed Solutions Unmanaged Customizations Unmanaged Solution C Unmanaged Solution D Managed Solution B Managed Solution A Layering occurs on import of solutions when a specific component is affected by change within one or more solution Layers describe the dependency chain of component from the root solution introducing it, through each solution that extends or changes the component’s behavior Layers are created through extension of an existing component (taking a dependency on it) or through creation of a new component or version of a solution. Important: Layers should be considered on a per- component basis. Although typically drawn to convey the effect of a solution on another solution, this is always at a component or sub- component level.
  • 8. Managed vs Unmanaged • Non development environment • Test, UAT, Prod • Generated by Build server • Based on Build Artifact • Easily manageable • Easy Delete of All Components in the Solution • Development environment • Created by “developers” • Basis for Build Artifact • The source for Build and Release pipeline • Deleting Solution does not delete Components
  • 9. Fundamentals: ALM Health Check  Source Control definitive source of truth  Are you Releasing as managed?  Are your Dev environments disposable?  Developer isolation?  Using SolutionPackager?
  • 10. Fundamentals: Solution Health Check Solution segmentation? Supported techniques only? Testing in UC and using AppModules? Single publisher? Solution Checker? Only have your managed dependencies installed?
  • 11. SourceControl • A central place to store everything you deploy to production-like environments • Managed way of making changes • Ruleset on who and how the changes are implemented • Centralized vs. Distributed • Git, Github, BitBucket, Team Foundation Services (TFS)
  • 12. Azure DevOps • Plan smarter, collaborate better and ship faster with a set of modern dev services • Easy collaboration • Build/Release • SourceControl Management • Agile/Scrum Boards
  • 13. Getting started, faster Initiate Build and Walk away Build Automated, Predictive, Repeatable Release Run Solution CheckerPack Solution Run Integration Test Run Unit TestRun Unit Test Run Solution Checker Export Solution Unpack to Repo ALM Powered by Azure DevOps Initial Build Pipeline instantiates pristine Development Environment daily Automated Release Pipeline removes manual steps. Weekly, daily or hourly releases becomes the new standard Build Pipeline Automates manual steps. No more upload to Solution checker and manually export solution, unpack and push to repo Provision Environment Deploy Dependencies Pack Source Code from Repo Import Solution Powered by Azure DevOps and Git Import as unmanaged Increment Version Export Managed
  • 14. PowerApps Build Tools • Azure DevOps Task for Automating deployments • Uses Serviceconnections with Environments • Import, Export, Publish • (un)Packing, Package Deployer • Solution Checker
  • 15. Demo Creating Build/Release with PowerappsBuild tools
  • 16. To Conclude • Use SourceControl to store solutions and customizations • Automate Build/Release process with PowerApps Build Tools • Managed on every environment except development
  • 19. Taurusavenue 16E | 2132 LS Hoofddorp | +31 23 2060 600 | [email protected] | www.macaw.nl

Editor's Notes

  • #9: Unmanaged Solutions are to be used in development environments while you are making configuration changes to your application. Solutions are exported as unmanaged and checked into your source control system. Unmanaged solutions should be considered your source. Managed solutions are used to deploy to any environment outside of development. This includes test, UAT, and production environments. Managed solutions should be generated by a build server and considered as a build artifact.