Akumina Developer Documentation

Akumina Developer Documentation

  • API
  • Docs
  • Blog

Continuous Site Package Deployment via a console app

Applies to:

Akumina 4.0.0.0 and later

Before proceeding, please review the Site Package Overview.

Download

To obtain the sitedeployer console application, please look at the Code section of this wiki, at SampleFrontEndStarterProject/tools/Akumina.SiteDeployer.exe

You will need to download the entirety of the SampleFrontEndStarterProject.

Package examples can be found at https://github.com/akumina/AkuminaTraining/tree/master/SiteProvisioning.SampleSite/SiteProvisioning.SampleSite/SiteDefinitions

Overview

An Akumina site is deployed via a site package; it is fundamentally a "package" of instructions, files, pages and other artifacts that determines what gets deployed into a site and/or site collection. This same site package can be deployed either:

  • By a business user inside AppManager, using the Site Creator/Deployment Manager app.
  • By a developer using a console application - The console app uses the site collection credentials and your Site package name and will deploy the assets just like the Site Creator does, but from an automated command line.

Integration into build process

The console application allows continuous and unattended Akumina deployments; when integrated into a development process, a team of developers can collaborate on changes that are deployed into an Akumina site. In the example below:

  • Developers check in code to source control (TFS).
  • A continuous integration process extracts out the artifacts from source control and it is placed in a build drop.
  • From there, a continuous delivery process takes the package from the build drop and deploys it to the QA and/or PROD environments.

Comparison with using the Deployment Manager/Site Creator app

An Akumina site package is generally deployed via the Deployment Manager/Site Creator app inside AppManager. There are a number of considerations to this - it requires a user to login to the app manager, navigated screens, click to take actions and have the browser open while deployment occurs. The console app offers a better and faster way to deploy site packages, and one that can be integrated with existing build tools and processes.

Usage

The site deployer accepts several command line parameters:

PropertyDescription
optionsThe artifacts to deploy from the package.
envdirThe path to the package directory. See the SampleFrontEndStarterProject in the code link below.
assetdirectoryThe name of the package to be deployed; this corresponds to the folder name of the site package off the envdir.
spurlThe URL of the site that the package will be executed against.
spuserThe user to execute the package.
sppasswordThe password of the user to execute the package.

To run the tool, you will use the following command (from a command prompt or batch file, assumes the exe is in a directory named tools and you are in the parent directory to that). The example below deploys the master page and the js files to the specified site collection:

tools\Akumina.SiteDeployer.exe options masterpage,js envdir C:\source\Site\ assetdirectory packageFolderName spdirectory DigitalWorkplace spurl https://tenant.sharepoint.com/sites/sharepointsitecollection spuser user@tenant.onmicrosoft.com sppassword userpassword

Options

See the deploy.js file in SampleFrontEndStarterProject

The following options are available for deployment:

  • masterpage
  • js
  • css
  • lists
  • layouts
  • pages
  • controls - updates page content per the assetdirectory/PageContent directory
  • widgets - deploys widget pacakages in the assetdirectory/WidgetPackages directory
  • contentfiles
  • imagefiles - uploads images in the assetdirectory/branding/images directory
  • updatelists
  • homepage
  • fonts - uploads fonts in the assetdirectory/branding/fonts directory

Example:

In this example, we have a basic site package that only deploys a single list:

The SiteDeployer console app executes the step:

The resulting output inside the site - a deployed list as well as content:

Other use cases:

The following list are use cases where the site deployer tool will provide benefit for a single developer or entire development team:

  • Deploying a single widget instance or a single list, or a set of files - packages can be as atomic as you wish.
  • A distributed team of Akumina Developers - Using a continuous integration server such as CruiseControl.NET to deploy changes on demand.
  • A project needing a development and staging environment - changes can be trialed in the development environment, then deployed using the tool to the production environment.
  • Applies to:
  • Download
  • Overview
  • Integration into build process
  • Comparison with using the Deployment Manager/Site Creator app
  • Usage
  • Options
  • Example:
  • Other use cases:
Akumina Developer Documentation
Docs
Akumina Framework 5.0Akumina Widget BuilderAkumina Yeoman GeneratorSite Deployer
Community
Akumina Community Site
More
GitHubStar
Copyright © 2024 Akumina