1.0.7 • Published 3 years ago
@byronvis/ali-oss-deploy v1.0.7
ali-oss-deploy
it will upload index.html to Server and upload assets(css,js,img) to aliyun oss with version manager using a local json file.
Installation
npm i @byronvis/ali-oss-deploy -D
Basic Usage
deploy.js
const { Command } = require('commander')
const program = new Command()
const Aod = require('@byronvis/ali-oss-deploy').default
const config = require('./.deploy.config')
const client = new Aod(config)
const version = require('./package.json').version
program
.command('upload <mode>')
.description('upload html to server and upload assets to oss')
.action(async (mode) => {
await client.uploadAssetsAndHtml(mode, version)
})
program
.command('clear <mode>')
.description('clear unused assets in oss')
.action(async (mode) => {
await client.clearAssets(mode)
})
program.parse(process.argv)
package.json
{
"scripts": {
"deploy:stag": "node ./deploy.js upload stag",
"clear:stag": "node ./deploy.js clear stag",
"deploy:prod": "node ./deploy.js upload prod",
"clear:prod": "node ./deploy.js clear prod"
}
}
Options
const client = new Aod({
distPath: './dist',
jsonPath: './deploy.version.json',
maxVersionCountOfMode: 5,
oss: {
accessKeyId: '',
accessKeySecret: '',
region: 'oss-cn-shanghai',
bucket: 'test',
prefix: (mode, version) => {
return mode + '@' + version
},
},
stag: {
host: '',
username: '',
password: '',
serverPath: '',
},
prod: {
host: '',
username: '',
password: '',
serverPath: '',
},
})
Methods
uploadAssetsAndHtml(mode,version)
parameters:
- mode{stag | prod}
- version{string}
clearAssets(mode)
parameters:
- mode{stag | prod}