An ember-cli-deploy plugin to deploy Ember FastBoot apps that are deployed via fastboot-app-server
This plugin relies on a FastBoot-app build being present in context.distDir
. When you are building your application with ember-cli-deploy-build this will work out of the box. Otherwise you have to create your app build manually before running ember deploy
.
A plugin is an addon that can be executed as a part of the ember-cli-deploy pipeline. A plugin will implement one or more of the ember-cli-deploy's pipeline hooks.
For more information on what plugins are and how they work, please refer to the Plugin Documentation.
To get up and running quickly, do the following:
-
Ensure ember-cli-deploy-build is installed and configured.
-
Ensure ember-cli-deploy-revision-data is installed and configured.
-
Ensure ember-cli-deploy-display-revisions is installed and configured.
-
Ensure one of the compatible fastboot-app-server companion deploy plugins (e.g. ember-cli-deploy-fastboot-app-server-aws) is installed
-
Install this plugin
$ ember install ember-cli-deploy-fastboot-app-server
- Run the pipeline
$ ember deploy production
For detailed information on what plugin hooks are and how they work, please refer to the Plugin Documentation.
configure
setup
willBuild
didPrepare
For detailed information on how configuration of plugins works, please refer to the Plugin Documentation.
The root directory where the FastBoot build will be searched in. By default, this option will use the distDir
property of the deployment context.
Default: context.distDir
The root directory where the zipped FastBoot-build will be copied to.
Default: tmp/fastboot-deploy
The unique revision number for the version of the app. By default this option will use either the revision
passed in from the command line or the revisionData.revisionKey
property from the deployment context.
Default: context.commandOptions.revision || context.revisionData.revisionKey
The prefix that will be used in combination with a revisionkey to build up the identifier for the revision you are deploying.
Default: dist-
Allows to specify a glob pattern to exclude certain files. To exclude all *.map
files, set it to "**/*.map"
.
Default" undefined
A function that gets added to the deploy context so that other plugins can update an app-manifest file that is used by fastboot-app-server notifiers and -downloaders to update the FastBoot-app served via fastboot-app-server
.
Default:
return function(bucket, key) {
return `
{
"bucket": "${bucket}",
"key": "${key}"
}
`;
}
This plugin is meant to be used in combination with fastboot-app-server and follows the deployment instructions from the FastBoot-docs. It will zip the application-build and update the deployment context with the necessary artifacts for other ember-cli-deploy-fastboot-app-server
-plugins to finish the deployment (e.g. upload the zipped application build to a S3-bucket).
The following properties are expected to be present on the deployment context
object:
distDir
(provided by ember-cli-deploy-build)project.name()
(provided by ember-cli-deploy)revisionKey
(provided by ember-cli-deploy-revision-data)commandLineArgs.revisionKey
(provided by ember-cli-deploy)deployEnvironment
(provided by ember-cli-deploy)
yarn test