• SharePoint Framework and DevOps Practices: New Documentation, New Samples

    TL; DR;

    With the release of Azure DevOps, there’s some new SPFX documentation to set up your CI/CD pipeline in Azure DevOps.  Have a look and share your thoughts.  Your feedback is always welcome! The Patterns and Practices Initiative also includes a newly reorganized DevOps repository for tools and samples around SharePoint Framework Build and Deploy Practices.

    The long story

    My journey into the SharePoint DevOps world

    I have been working around Application Lifecycle Management (ALM), Continuous Integration (CI), Continuous Deployment (CD) and DevOps practices in the SharePoint/Azure/Office 365 ecosystem for several years.  In my experience, whether you’re working alone or as part of a team, adopting proper ALM practices is crucial if you want to produce high quality code.

    Historically, SharePoint developers didn’t have many viable options to implement such practices.  Building full trust solutions and using XAML build definitions on Team Foundation Servers were more difficult than  their “open source stack” counterparts. At the time I was part of the SharePoint on-premises product team for Oceanik, a multilingual product for SharePoint, it was painful and slow, though doable, to automate builds and deployments.

    The process improved somewhat with the SharePoint Add-ins development model and Visual Studio Team Services’ new build system (originally called 2015, or JSON builds).  At that time, I had the chance to explore these new options and be part of the Attribute product team, which was a semantic analysis product which would automatically tag your documents in SharePoint.  With all the learning I’ve been doing, I took the opportunity and started speaking and blogging about these experiences I had discovered.

    The power of the community

    Great things happen when individuals with similar interests and passions come together.  This is exactly what happened to me.  Through my speaking engagements, I started building my personal network.  Together, we shared our issues and came up with different approaches for solving them.

    If you spend enough time in the SharePoint development ecosystem, you are likely to come across some great community leaders in the domain.  I’m lucky to have had the chance meet some of them, such as Elio Struyf, Waldek Mastykarz, Andrew Connell, and Vesa Juvonen amongst many others.  Following our early encounters, Elio and I  started building a Repository to demonstrate how to integrate SharePoint Framework and Visual Studio Team Services to have a better toolchain.  The goal was to provide blog posts, which we both wrote independently with no real coordination.  It took longer than expected to complete the work as we both hold jobs, are frequent speakers, and have other responsibilities.  Fortunately for us, there were several factors that played in our favour:

    • In December 2017, Waldek Mastykarz and Andrew Connell created the Office 365 CLI to help you script and automate administrative tasks for Office 365 from any platform.
    • In March 2018, we met with Vesa Juvonen, who recommended moving the documentation under the OfficeDev PnP and Official Microsoft documentation
    • In May 2018, Microsoft came out with long requested ALM APIs making it much easier to deploy “apps” to SharePoint.
    • Shortly after the ALM APIs were released, the Office 365 CLI implemented these APIs making the whole thing much easier

    New documentation, new repositories

    I would like to introduce you to this new documentation article, which guides you through setting up and configuring your CI/CD pipeline for the SharePoint Framework with Azure DevOps.  I suggest you try it out.  If you run into any problems, please don’t hesitate to open any issues. More importantly I would like to introduce you to the SharePoint Framework Build and Deploy Practices repository.  This is the first step for documenting the ALM process for the SharePoint development ecosystem.  What could you add to that?  Is there anything you would like to see that is not there today?  CircleCI?  AppVeyor?  Travis?  Jenkins?

    About this blog

    You probably have noticed seeing less content on this blog over the last year. The main reasons being GitHub and Stack Overflow. Those platforms have truly changed the development landscape over the last few years. From my perspective I think it is much more beneficial to the whole community if the solution that would have been in a blog post is directly incorporated in an open source project. Same if the knowledge answering this question or revealing that bug is shared on platforms that have more exposure, mechanisms to triage/dispatch/address it, etc.

    Conclusion and final thanks

    This has been an amazing journey which allowed me to learn a plethora of things as well as meet and get to know peers. In addition to the people that I mentioned through the article, I’d like to thank my friend Haniel Croitoru who proofread not only the documentation but also this article.

    • 15/1/2019
  • Guest of the Intrazone podcast

    As 2018 is concluding (we’ll be in 2019 by the time this blog post is published), I’ve taken a few days off to rest, spend time with the family, play video games, read, watch movies and… catch up on my blog posts writing.

    Almost a month ago now I was presenting at the SharePoint Saturday Toronto, huge thanks to Eric Riz, Kanwal Khipple and Noorez Khamiz for organizing the event! More importantly, they had to find a new venue at the last minute because the original one was forced to closed done for a few days and they pulled it off!

    During the event Yana Berkovich, Kate Wilson, Sherman Woo, Mark Kashman and myself got together to record an episode of the Intrazone podcast: SharePoint from the Canadian POV.

    During this episode we talked about different subjects including development, governance, information architecture, data visualization and much more, I encourage you to check it out!

    • 5/1/2019
  • Presenting at the Microsoft Ignite Tour Toronto

    The Microsoft Ignite tour is a series of events that take place in cities around the world. This series of events is organized by Microsoft and presenters are picked among Microsoft Employees, Regional Directors and MVPs.

    I’ll have the opportunity to present one session “How to do DevOps with the SharePoint Framework and why it matters?”. During this session we will explore together how you can setup your continuous integration and continuous deployment pipeline leveraging Azure DevOps (formerly Visual Studio Team Services).

    The event will be taking place at the Metro Toronto Convention Centre the 10th and 11th of January and you can register for free here.

    See you there!

    • 3/1/2019