Autodesk, Inc. · NASDAQ:ADSK

Autodesk — Autodesk University 2022

28 slides from Autodesk's conference presentation, Sep 27, 2022

  1. Slide 1: Deploy Better Plug-ins Faster Through CI/CD and Unit Testing in Azure DevOps

    Deploy Better Plug-ins Faster Through CI/CD and Unit Testing in Azure DevOps SD501013 Andrea Tassera Global Specialist Design Technology - Woods Bagot @dre_tas

  2. Slide 2: How long does it take you to deploy tools?

    How long does it take you to deploy tools? 🚀🚀

  3. Slide 3: How do you ensure quality?

    How do you ensure quality? ✅

  4. Slide 4: Why are you here

    Why are you here  How long does it take you to release a  How do you ensure quality? new tool? o Get experienced Revit guy to test; o Send files to users and tell them where to o Get mixed group of people to kick the tires; copy them; o Go rogue without testing. o Keep it to yourself and be the on

  5. Slide 5: Assumptions

    Assumptions

  6. Slide 6: A few assumptions

    A few assumptions  Know from the beginning, this is “made by architects for architects”  For that reason, we simplify things, and it isn’t entirely orthodox…but it works!  We’ll focus on DevOps for Revit plugins (no web apps, etc)  We work on a Microsoft environment, as often happens in design e

  7. Slide 7: What is DevOps

    What is DevOps And why does it matter

  8. Slide 8: What is DevOps?

    What is DevOps?  Dev + Ops = Integration between devs and IT team  Not only a technical matter, but a cultural shift (less siloes)  Empower dev(s) to deploy to users Credit: Atlassian

  9. Slide 9: Why DevOps?

    Why DevOps?  Once set up it just works, and you can bypass the IT team o Automated process every time it’s triggered o Deploy to the right people  Deploy fixes and new features more frequently in less time o Better, more advanced tools o More transparency with end user (credibility)  Feel more co

  10. Slide 10: DevOps process

    DevOps process Code Commit CI/CD Deploy The developers work on While working on the Commits or merges happening If the previous steps went fine, smaller features (or bug fixes) codebase, the developers will to a specific branch will trigger the pipeline will deploy the on their branches. frequently

  11. Slide 11: What is CI/CD

    What is CI/CD

  12. Slide 12: Continuous Integration / Continuous Delivery

    Continuous Integration / Continuous Delivery The technical subset of DevOps  Continuous Integration o Devs merge smaller code changes to central repo more often o Automated builds, tests and other actions are triggered o Find and address bugs quicker o Improve quality and reliability o Reduce relea

  13. Slide 13: Deployment

    Setup the pipeline Install NuGets CI/CD Pipeline Build the solution Version the files Sign the files Test the code Deployment

  14. Slide 14: What you'll need

    What you’ll need Batteries not included

  15. Slide 15: Tools and Accounts

    Tools and Accounts 1. Any remote git account (GitHub, BitBucket, etc.) 2. An Azure DevOps account (or AWS, etc.) 3. A self-hosted Windows virtual machine (VM) with Revit installed 4. A code certificate 5. pyRevit

  16. Slide 16: How to: overview

    How to: overview Practical bits

  17. Slide 17: Pipeline Setup

    Pipeline Setup 1. Create a new project in DevOps 2. In the new project, create a new pipeline 3. Connect the pipeline to your remote repo 4. Access your YAML file, automatically created by DevOps 5. Set the trigger (usually a commit / merge to a specific branch) 6. Define the machine (virtual or phy

  18. Slide 18: NuGet Tasks

    NuGet Tasks Get all used NuGet packages to successfully build solution 1. Install the NuGet tool in order to install all packages 2. Use the restore command to install external packages 3. Specify vstsFeed to get internal packages source

  19. Slide 19: Build Solution

    Build Solution  Use MSBuild or VSBuild to build solution  Most of the setup is done in the csproj and it’s like building locally  The Revit APIs are normally referenced from local files > the pipeline will likely fail. A solution is to use a NuGet package (we use ModPlus, but any will do)

  20. Slide 20: Semantic Versioning

    Semantic Versioning 1. This task will automatically assign a version to the resulting files based on the git history of the project 2. The repo needs at least a main/master and a develop branch not to fail 3. Add a GitVersion.SemVer variable to store the version info 4. Setup the GitVersion tool 5.

  21. Slide 21: Code Signing

    Code Signing  To avoid unverified popup in Revit  Store your certificate either in the pipeline  Or on Azure KeyVault  The pipeline looks like the one on the right if you go the local route

  22. Slide 22: Automated (Unit / Integration) Testing

    Automated (Unit / Integration) Testing  The tests live under a separate project in the same solution  We use Dynamo’s RevitTestFramework to run the tests, but you have options  After building, the Windows VM with Revit installed will open Revit and run the tests  The results of the tests will be

  23. Slide 23: Deployment

    Deployment  Our Wombat toolbar for Revit is built upon pyRevit, which makes deployment convenient, being based on git  The task is running a few git commands in order to reach all our test groups and general users  Process 1. Checkout the correct branch to deploy to 2. Pull from origin to ensure

  24. Slide 24: Deployment

    Setup the pipeline Install NuGets CI/CD Pipeline Build the solution Version the files Sign the files Test the code Deployment

  25. Slide 25: Conclusion

    Conclusion If you fell asleep halfway and only bring this home

  26. Slide 26: Key Takeaways

    Key Takeaways If you forget everything else but this Better process: DevOps Better collaboration: working Better results: not only by practices, through the help of together gets smoother and deploying tools that are CI/CD standardization will less stressful, by establishing more reliable, but also

  27. Slide 27: «

    «

  28. Slide 28: Autodesk trademarks and rights notice

    Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product

Autodesk — Autodesk University 2022 on 6ix