An ember-cli-deploy-plugin to copy your built assets on your filesystem
This plugin uses cpr to copy built assets on your filesystem. It basically supports all its options.
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.
-
Install this plugin
$ ember install ember-cli-deploy-cp
- Place the following configuration into
config/deploy.js
ENV.cp = {
destDir: '/srv/www/htdocs/'
};
- Run the pipeline
$ ember deploy
Run the following command in your terminal:
ember install ember-cli-deploy-cp
For detailed information on what plugin hooks are and how they work, please refer to the Plugin Documentation.
configure
upload
didDeploy
For detailed information on how configuration of plugins works, please refer to the Plugin Documentation.
The root directory to which the contents of the distDir will be copied to.
Required
The root directory that will be used as source directory for cpr. By default, this option will use the distDir
property of the deployment context.
Default: context.distDir
A message that will be displayed after the distDir has been copied to destDir.
Default:
if (context.revisionData.revisionKey) {
return "Copied revision " + context.revisionData.revisionKey + ".";
}
Delete the destDir with rimraf
before the files are copied.
Default: false
If the destination exists, overwrite it.
Default: true
After the copy operation, stat all the files and report errors if any are missing.
Default: true
RegExp
or function
to test each file against before copying.
Default: undefined
Example:
Because of the way ember-cli-deploy handles default config values internally, you need to provide a factory function as filePattern instead of the filter function directly.
/*
* Don't copy index.html
*/
filePattern: function (/* context */) {
return function(filePath) {
var indexPattern = "index.html";
return !(filePath.indexOf(indexPattern, filePath.length - indexPattern.length) !== -1);
};
}
The following properties are expected to be present on the deployment context
object:
distDir
(provided by ember-cli-deploy-build)revisionData.revisionKey
(provided by ember-cli-deploy-revision-data)
npm test
Tests ... right?