Akumina Developer Documentation

Akumina Developer Documentation

  • API
  • Docs
  • Blog

›Azure DevOps

Akumina

  • Quickstart

Yo Akumina

  • Yo Akumina
  • Start with Yeoman
  • React
  • Simple template

Widget Builder

  • Widget Builder Structure
  • Akumina Widget Builder
  • Skipping instances
  • Token replacement for widget properties

Widget Development Quickstart

  • Setting up the Project
  • Configuring .env file
  • Configuring - akumina.sitedployer.config.json file
  • Configuring - akumina.config.json file
  • Extras

Widget Info

  • Akumina Widgets Overview
  • Building a New Widget Instance
  • Widget Views
  • Widget Properties
  • Global vs Local widgets (Widget Scoping)
  • Akumina React Widgets
  • Callbacks
  • RenderChildWidgets
  • Vendor Package List

Virtual Page Builder

  • Akumina Virtual Page Builder
  • Using Virtual Page Layouts
  • Creating a Custom Layout

Stream Card Builder

  • Installation
  • Stream Card Builder
  • Custom Cards
  • Activity Comments Config
  • Akumina Activity Stream PUSH Subscription using PowerAutomate to connect to ServiceNow
  • Akumina Activity Stream PUSH Subscription using PowerAutomate to connect to Dynamic 365

Site Deployer

  • Overview
  • Version 6.0
  • List Attribute Deployments
  • NPM Commands
  • SPA Updates and Deploying to multiple sites

Authoring

  • Content Action Event
  • Publish Validation Integration
  • Field Event Integration
  • CK Editor external plugins

Headless

  • Quickstart
  • Headless Teams support
  • Headless Troubleshooting

Modern

  • Overview
  • FAQ
  • Single Page Application
  • Modern Web Part Library
  • Google Analytics for Modern Pages

Site Creator

  • Overview
  • Adding A Custom Site Definition
  • Core Step Classes
  • Custom Site Definition Components
  • Custom Site Definition XML
  • Custom Subsite Definitions
  • Sample Step Code
  • Supported Tokens

Azure DevOps

  • CI/CD using Azure DevOps
  • Setting up a build to deploy a site package
  • Setting up a build to deploy file to App Manager hosted in an app service

Configuration

  • Configuration Context Overview
  • Edit the Redis cache timeout
  • Using a key vault for the client id and client secret

Debugging

  • Debugging in Akumina

Advanced

  • Central Site Collection Support
  • Eventing OOB Digital Workplace Events
  • Working with custom JSX Views
  • Page Indexing

Service Hub

  • Quickstart

Patch Notes

  • Patch Notes

Setting up a build to deploy a site package

Applies to

All versions of Akumina

Overview

This article describes how to create a build pipeline to deploy an Akumina Site Deployer package. For more information on a Site Deployer package, please see the References section below.

To create a build

Go into Azure DevOps for the project you want. In our example we will use the code located in the TFS path:

$/BPS/Example/

Go to Pipelines -> Builds. Click New pipeline.

For our example we have code in TFS, so we use the visual designer option.

Select TFVC as the source, and then enter in the TFS path:

In the Build definition, click the plus icon (+) to add under Agent job 1. Then select Command Line from the list.

In the command line option, please enter in the properties for the site deployer. Assuming you placed the site deployer at the root of the build (as instructed to earlier), then the following values will be used:

PropertyValue
Display nameRun Akumina.SiteDeployer
Tool$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe
Argumentsoptions lists envdir "" assetdirectory DigitalWorkplaceCore spdirectory DigitalWorkplace spurl $(siteCollectionUrl) spuser $(siteCollectionUser) sppassword $(siteCollectionPassword)
Reference nameCmdLine1

The options value above indicates what we want to deploy. In our example, we only have lists.

The assetdirectory value above depends on the name of your folder in the /sitedefinitions/ folder. See the Site deployer documentation for more information.

In order to run, the deployer needs variables such as the site collection URl, username and password. We need to add the following:

PropertyDescription
siteCollectionUrlThe site collection URL to deploy to.
siteCollectionUserThe user to be used to connect to the site collection.
siteCollectionPasswordLocked value - The password of the user to be used to connect to the site collection.

Note the siteCollectionPassword value should be LOCKED:

With the actions and the variables saved, we then need to Save. Click Save on the “Save build pipeline” dialog.

Once we save, we can then run the build – go back to builds, and either Run or Queue the build.

We can then separately queue up the build to run later, by returning to Pipelines -> Builds, and clicking the build. We can then queue it via the Queue button.

After the build runs, we will see its status.

And we can see the artifacts deployed into the site collection.

Deploying widgets

To deploy widget, add a few other tasks prior to the site deployer call to build and package the widgets:

TaskDisplay NameProperties
Node.js tool installerUse Node >=8.9.1Version Spec: >=8.9.1
Npmnpm installCommand: install
Npmnpm buildCommand: custom
Command and arguments:run build
npmnpm packageCommand: custom
Command and arguments:run package

And then you would use either a command line for the site deployer call (shown above), or a "Publish build artifacts" to a drop, which can then be used in a release pipeline.

Copy and Publish artifacts

Next we add in a Copy Files task - this copies the files we want into a temporary location.

PropertyValue
Display nameSP Central Site files
Source Folderbuild
Contents**
Target Folder$(Build.ArtifactStagingDirectory)/$(Build.DefinitionVersion)

Then we add a Publish build artifacts task to place the artifacts into a build drop. This we can use later as part of a more complete build and release process - in our example we will just set it up without using it.

PropertyValue
Display namePublish Artifact: Headless $(Build.DefinitionVersion)
Path to publish$(Build.ArtifactStagingDirectory)/$(Build.DefinitionVersion)
Artifact nameHeadless $(Build.DefinitionVersion)

Deploying the artifacts via the site deployer

Using a build drop, we can easily use that build in a release pipeline, which allows us to control exactly when and where the changes go.

We would want to simply upload the files, so in our example we next select Command Line from the list.

In the command line option, please enter in the properties for the site deployer. For our example, the following values will be used:

PropertyValue
Display nameDeploy
Tool$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe
Argumentsoptions widgets assetdirectory Client clientid $(clientid) clientsecret $(clientsecret) spdirectory DigitalWorkplace spurl $(centralurl) ml true

The options value above indicates what we want to deploy. In our example, we use widgets to deploy the widgets to the SharePoint site.

The assetdirectory value above depends on the name of your folder in the /sitedefinitions/ folder. See the Site deployer documentation for more information.

The deployer needs variables to connect to the SharePoint site; We need to add the following (see also https://akumina.github.io/docs/Site-Deployer-Version-5-0)

PropertyDescription
clientidSharepoint app client id
clientsecretSharepoint app client secret
centralurlThe central site url for widget deployment

With the actions and the variables saved, we then need to Save. Click Save on the “Save build pipeline” dialog.

Once we save, we can then run the build – go back to builds, and either Run or Queue the build pipeline, and when complete will see widgets deployed to the central SharePoint site.

References:

  • Site Deployer: Continuous Site Package Deployment via a console app
  • Site Deployer 4.1
← CI/CD using Azure DevOpsSetting up a build to deploy file to App Manager hosted in an app service →
  • Copy and Publish artifacts
Akumina Developer Documentation
Docs
Akumina Framework 5.0Akumina Widget BuilderAkumina Yeoman GeneratorSite Deployer
Community
Akumina Community Site
More
GitHubStar
Copyright © 2025 Akumina