mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[no-issue] fix deploy PR script (#4065)
* fix deploy PR script * change docker ignore * create subfolder * rename script
This commit is contained in:
@@ -1,12 +1,16 @@
|
|||||||
.git
|
.git
|
||||||
.github
|
.github
|
||||||
.vscode
|
.vscode
|
||||||
|
assets
|
||||||
coverage
|
coverage
|
||||||
docs
|
docs
|
||||||
e2e
|
e2e
|
||||||
|
e2e-output
|
||||||
node_modules
|
node_modules
|
||||||
scripts
|
scripts
|
||||||
src
|
src
|
||||||
lib
|
lib
|
||||||
integration
|
integration
|
||||||
/demo-shell/config/
|
tools
|
||||||
|
demo-shell/src/
|
||||||
|
demo-shell/resources/
|
||||||
|
@@ -180,7 +180,7 @@ jobs:
|
|||||||
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b -save --folder insights --skip-lint --use-dist || exit 1;);
|
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b -save --folder insights --skip-lint --use-dist || exit 1;);
|
||||||
fi
|
fi
|
||||||
- stage: Create Docker PR
|
- stage: Create Docker PR
|
||||||
script: (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)
|
script: node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)
|
||||||
- stage: Deploy Docker PR
|
- stage: Deploy Docker PR
|
||||||
script: node --no-deprecation ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1
|
script: node --no-deprecation ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1
|
||||||
|
|
||||||
|
455
package-lock.json
generated
455
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
13
package.json
13
package.json
@@ -112,7 +112,6 @@
|
|||||||
"@types/node": "6.0.90",
|
"@types/node": "6.0.90",
|
||||||
"ajv-cli": "^3.0.0",
|
"ajv-cli": "^3.0.0",
|
||||||
"angular2-template-loader": "0.6.2",
|
"angular2-template-loader": "0.6.2",
|
||||||
"archiver": "^3.0.0",
|
|
||||||
"astrolabe": "^0.3.6",
|
"astrolabe": "^0.3.6",
|
||||||
"autoprefixer": "6.5.4",
|
"autoprefixer": "6.5.4",
|
||||||
"bundlesize": "^0.15.3",
|
"bundlesize": "^0.15.3",
|
||||||
@@ -153,6 +152,7 @@
|
|||||||
"mdast-zone": "^3.0.1",
|
"mdast-zone": "^3.0.1",
|
||||||
"merge-stream": "1.0.1",
|
"merge-stream": "1.0.1",
|
||||||
"nconf": "^0.10.0",
|
"nconf": "^0.10.0",
|
||||||
|
"ncp": "^2.0.0",
|
||||||
"ng-packagr": "4.4.0",
|
"ng-packagr": "4.4.0",
|
||||||
"node-sass": "4.9.2",
|
"node-sass": "4.9.2",
|
||||||
"protractor": "^5.4.0",
|
"protractor": "^5.4.0",
|
||||||
@@ -174,9 +174,8 @@
|
|||||||
"tslib": "^1.9.0",
|
"tslib": "^1.9.0",
|
||||||
"tslint": "5.9.1",
|
"tslint": "5.9.1",
|
||||||
"typedoc": "^0.11.1",
|
"typedoc": "^0.11.1",
|
||||||
"unist-util-select": "^2.0.0",
|
|
||||||
"typescript": "^3.1.6",
|
"typescript": "^3.1.6",
|
||||||
"unzip-stream": "^0.3.0",
|
"unist-util-select": "^2.0.0",
|
||||||
"url-join": "^4.0.0",
|
"url-join": "^4.0.0",
|
||||||
"webpack-bundle-analyzer": "^2.13.1",
|
"webpack-bundle-analyzer": "^2.13.1",
|
||||||
"webpack-cli": "^3.1.0",
|
"webpack-cli": "^3.1.0",
|
||||||
@@ -198,11 +197,15 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "./lib/dist/core/bundles/adf-core.umd.min.js",
|
"path": "./lib/dist/core/bundles/adf-core.umd.min.js",
|
||||||
"maxSize": "150 kb"
|
"maxSize": "110 kb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "./lib/dist/process-services-cloud/bundles/adf-process-services-cloud.umd.min.js",
|
"path": "./lib/dist/process-services-cloud/bundles/adf-process-services-cloud.umd.min.js",
|
||||||
"maxSize": "50 kb"
|
"maxSize": "20 kb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "./lib/dist/extensions/bundles/adf-extensions.umd.min.js",
|
||||||
|
"maxSize": "5 kb"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@@ -1,103 +0,0 @@
|
|||||||
var program = require('commander');
|
|
||||||
var AlfrescoApi = require('alfresco-js-api-node');
|
|
||||||
var http = require('http');
|
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
|
||||||
var unzip = require('unzip-stream');
|
|
||||||
|
|
||||||
replaceHrefInIndex = (folder, href) => {
|
|
||||||
fs.readFile(`demo-shell/${folder}/index.html`, 'utf8', function (err, data) {
|
|
||||||
if (err) {
|
|
||||||
return console.log(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
let result = data.replace(`base href="/"`, `base href=\"/${href}/\"`);
|
|
||||||
|
|
||||||
fs.writeFile(`demo-shell/${folder}/index.html`, result, 'utf8', function (err) {
|
|
||||||
if (err) return console.log(err);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
unzipRetry = (tentativeNumber, outputFolder, url) => {
|
|
||||||
let file = fs.createWriteStream('demo.zip');
|
|
||||||
http.get(`http://${url}`, (response) => {
|
|
||||||
response.pipe(file);
|
|
||||||
file.on('finish', async () => {
|
|
||||||
|
|
||||||
console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip'));
|
|
||||||
setTimeout(() => {
|
|
||||||
fs.createReadStream(path.join(__dirname, '../demo.zip'))
|
|
||||||
.pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')}))
|
|
||||||
.on('error', () => {
|
|
||||||
|
|
||||||
if (tentativeNumber <= 4) {
|
|
||||||
tentativeNumber++;
|
|
||||||
unzipRetry(tentativeNumber, outputFolder);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.on('finish', () => {
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`);
|
|
||||||
let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`);
|
|
||||||
|
|
||||||
if (!fs.existsSync(path.join(__dirname, `../demo-shell/dist`))) {
|
|
||||||
fs.mkdirSync(path.join(__dirname, `../demo-shell/dist`));
|
|
||||||
}
|
|
||||||
|
|
||||||
fs.rename(oldFolder, newFolder, () => {
|
|
||||||
console.log('renamed complete ');
|
|
||||||
});
|
|
||||||
|
|
||||||
if (program.baseHref) {
|
|
||||||
replaceHrefInIndex(outputFolder, program.baseHref);
|
|
||||||
}
|
|
||||||
}, 10000);
|
|
||||||
|
|
||||||
})
|
|
||||||
}, 10000);
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
|
|
||||||
program
|
|
||||||
.version('0.1.0')
|
|
||||||
.option('-p, --password [type]', 'password')
|
|
||||||
.option('-u, --username [type]', 'username')
|
|
||||||
.option('--base-href [type]', '')
|
|
||||||
.option('-f, --folder [type]', 'Name of the folder')
|
|
||||||
.option('-host, --host [type]', 'URL of the CS')
|
|
||||||
.parse(process.argv);
|
|
||||||
|
|
||||||
let alfrescoJsApi = new AlfrescoApi({
|
|
||||||
provider: 'ECM',
|
|
||||||
hostEcm: program.host
|
|
||||||
});
|
|
||||||
|
|
||||||
await alfrescoJsApi.login(program.username, program.password);
|
|
||||||
|
|
||||||
let zipDemoNode;
|
|
||||||
|
|
||||||
try {
|
|
||||||
zipDemoNode = await alfrescoJsApi.nodes.getNode('-my-', {
|
|
||||||
'relativePath': `Builds/${program.folder}/demo.zip`
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log('error: ' + error);
|
|
||||||
}
|
|
||||||
|
|
||||||
const url = await alfrescoJsApi.content.getContentUrl(zipDemoNode.entry.id, true);
|
|
||||||
|
|
||||||
console.log('Download zip');
|
|
||||||
|
|
||||||
let outputFolder = program.baseHref ? path.join('dist', program.baseHref) : 'dist';
|
|
||||||
|
|
||||||
unzipRetry(0, outputFolder, url);
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
@@ -1,111 +0,0 @@
|
|||||||
var program = require('commander');
|
|
||||||
var AlfrescoApi = require('alfresco-js-api-node');
|
|
||||||
var http = require('http');
|
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
|
||||||
var unzip = require('unzip-stream');
|
|
||||||
|
|
||||||
var alfrescoJsApi;
|
|
||||||
|
|
||||||
unzipRetry = (url, outputFolder, pacakge, tentativeNumber) => {
|
|
||||||
console.log(`Unzip ${pacakge} in ` + path.join(__dirname, `../${pacakge}.zip`));
|
|
||||||
fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`))
|
|
||||||
.pipe(unzip.Extract({path: path.join(__dirname, `../${outputFolder}/@alfresco/`)}))
|
|
||||||
.on('error', (error) => {
|
|
||||||
console.log('Error' + error)
|
|
||||||
if (tentativeNumber <= 4) {
|
|
||||||
fs.unlinkSync(path.join(__dirname, `../${pacakge}.zip`));
|
|
||||||
setTimeout(() => {
|
|
||||||
downloadZip(url, outputFolder, pacakge, tentativeNumber);
|
|
||||||
}, 10000);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.on('finish', () => {
|
|
||||||
setTimeout(() => {
|
|
||||||
let oldFolder = path.join(__dirname, `../${outputFolder}/@alfresco/${pacakge}`)
|
|
||||||
let newFolder = path.join(__dirname, `../${outputFolder}/@alfresco/adf-${pacakge}`)
|
|
||||||
|
|
||||||
fs.rename(oldFolder, newFolder, (err) => {
|
|
||||||
console.log('renamed complete');
|
|
||||||
});
|
|
||||||
|
|
||||||
}, 10000);
|
|
||||||
})
|
|
||||||
};
|
|
||||||
|
|
||||||
downloadZip = async (url, outputFolder, pacakge, tentativeNumber) => {
|
|
||||||
if (!tentativeNumber) {
|
|
||||||
tentativeNumber = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
tentativeNumber++;
|
|
||||||
|
|
||||||
console.log(`Download ${pacakge} in OutputFolder ${outputFolder}`)
|
|
||||||
|
|
||||||
let file = fs.createWriteStream(`${pacakge}.zip`);
|
|
||||||
return await http.get(`http://${url}`, (response) => {
|
|
||||||
response.pipe(file);
|
|
||||||
file.on('finish', async () => {
|
|
||||||
file.close(() => {
|
|
||||||
unzipRetry(url, outputFolder, pacakge, tentativeNumber);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
getUrl = async (folder, pacakge) => {
|
|
||||||
let zipDemoNode;
|
|
||||||
|
|
||||||
try {
|
|
||||||
zipDemoNode = await alfrescoJsApi.nodes.getNode('-my-', {
|
|
||||||
'relativePath': `Builds/${folder}/${pacakge}.zip`
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log('error: ' + error);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return await alfrescoJsApi.content.getContentUrl(zipDemoNode.entry.id, true);
|
|
||||||
};
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
|
|
||||||
program
|
|
||||||
.version('0.1.0')
|
|
||||||
.option('-p, --password [type]', 'password')
|
|
||||||
.option('-u, --username [type]', 'username')
|
|
||||||
.option('-o, --output [type]', 'output folder')
|
|
||||||
.option('--base-href [type]', '')
|
|
||||||
.option('-f, --folder [type]', 'Name of the folder')
|
|
||||||
.option('-host, --host [type]', 'URL of the CS')
|
|
||||||
.parse(process.argv);
|
|
||||||
|
|
||||||
alfrescoJsApi = new AlfrescoApi({
|
|
||||||
provider: 'ECM',
|
|
||||||
hostEcm: program.host
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!program.output) {
|
|
||||||
program.output = 'node_modules'
|
|
||||||
}
|
|
||||||
|
|
||||||
await alfrescoJsApi.login(program.username, program.password);
|
|
||||||
|
|
||||||
let coreUrl = await getUrl(program.folder, 'core');
|
|
||||||
downloadZip(coreUrl, program.output, 'core');
|
|
||||||
|
|
||||||
let contentUrl = await getUrl(program.folder, 'content-services');
|
|
||||||
downloadZip(contentUrl, program.output, 'content-services');
|
|
||||||
|
|
||||||
let processUrl = await getUrl(program.folder, 'process-services');
|
|
||||||
downloadZip(processUrl, program.output, 'process-services');
|
|
||||||
|
|
||||||
let insightUrl = await getUrl(program.folder, 'insights');
|
|
||||||
downloadZip(insightUrl, program.output, 'insights');
|
|
||||||
|
|
||||||
let processCloudUrl = await getUrl(program.folder, 'process-services-cloud');
|
|
||||||
downloadZip(processCloudUrl, program.output, 'process-services-cloud');
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
65
scripts/move-dist-folder.js
Executable file
65
scripts/move-dist-folder.js
Executable file
@@ -0,0 +1,65 @@
|
|||||||
|
var program = require('commander');
|
||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
var ncp = require('ncp').ncp;
|
||||||
|
var rimraf = require('rimraf');
|
||||||
|
|
||||||
|
ncp.limit = 16;
|
||||||
|
|
||||||
|
replaceHrefInIndex = (href) => {
|
||||||
|
fs.readFile(`demo-shell/dist/${href}/index.html`, 'utf8', function (err, data) {
|
||||||
|
if (err) {
|
||||||
|
return console.log(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
let result = data.replace(`base href="/"`, `base href=\"/${href}/\"`);
|
||||||
|
|
||||||
|
fs.writeFile(`demo-shell/dist/${href}/index.html`, result, 'utf8', function (err) {
|
||||||
|
if (err) return console.log(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
|
||||||
|
program
|
||||||
|
.version('0.1.0')
|
||||||
|
.option('--base-href [type]', '')
|
||||||
|
.parse(process.argv);
|
||||||
|
|
||||||
|
|
||||||
|
let outputTemp = path.resolve(__dirname, '../demo-shell/', program.baseHref);
|
||||||
|
console.log('output ' + outputTemp);
|
||||||
|
|
||||||
|
let distFolder = path.resolve(__dirname, '../demo-shell/dist');
|
||||||
|
|
||||||
|
fs.rename(distFolder, outputTemp, (err) => {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log('renamed complete');
|
||||||
|
|
||||||
|
let distFolderNew = path.resolve(__dirname, '../demo-shell/dist', program.baseHref);
|
||||||
|
|
||||||
|
if (!fs.existsSync(distFolderNew)){
|
||||||
|
fs.mkdirSync(distFolder);
|
||||||
|
fs.mkdirSync(distFolderNew);
|
||||||
|
}
|
||||||
|
|
||||||
|
ncp(outputTemp, distFolderNew, (err) => {
|
||||||
|
if (err) {
|
||||||
|
return console.error(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
replaceHrefInIndex(program.baseHref);
|
||||||
|
|
||||||
|
rimraf(outputTemp, ()=> { console.log('output temp removed'); });
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
||||||
|
|
||||||
|
|
@@ -1,98 +0,0 @@
|
|||||||
var program = require('commander');
|
|
||||||
var AlfrescoApi = require('alfresco-js-api-node');
|
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
|
||||||
var archiver = require('archiver');
|
|
||||||
|
|
||||||
writeZipLib = async function (zipFolder) {
|
|
||||||
|
|
||||||
if (!fs.existsSync(zipFolder)) {
|
|
||||||
fs.mkdirSync(zipFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
// create a file to stream archive data to.
|
|
||||||
let output = fs.createWriteStream(path.join(zipFolder, `demo.zip`));
|
|
||||||
let archive = archiver('zip');
|
|
||||||
|
|
||||||
archive.pipe(output);
|
|
||||||
archive.directory(path.join(__dirname, `../demo-shell/dist/`), `demo.zip`);
|
|
||||||
|
|
||||||
return archive.finalize();
|
|
||||||
};
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
|
|
||||||
program
|
|
||||||
.version('0.1.0')
|
|
||||||
.option('-p, --password [type]', 'password')
|
|
||||||
.option('-u, --username [type]', 'username')
|
|
||||||
.option('-f, --folder [type]', 'Name of the folder')
|
|
||||||
.option('-host, --host [type]', 'URL of the CS')
|
|
||||||
.parse(process.argv);
|
|
||||||
|
|
||||||
let alfrescoJsApi = new AlfrescoApi({
|
|
||||||
provider: 'ECM',
|
|
||||||
hostEcm: program.host
|
|
||||||
});
|
|
||||||
|
|
||||||
let zipFolder = path.join(__dirname, '../demo-shell/zip/');
|
|
||||||
|
|
||||||
await this.writeZipLib(zipFolder);
|
|
||||||
|
|
||||||
let files = fs.readdirSync(path.join(__dirname, '../demo-shell/zip'));
|
|
||||||
|
|
||||||
if (files && files.length > 0) {
|
|
||||||
|
|
||||||
alfrescoJsApi.login(program.username, program.password);
|
|
||||||
let folder;
|
|
||||||
|
|
||||||
if (!program.folder) {
|
|
||||||
program.folder = Date.now();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
folder = await alfrescoJsApi.nodes.addNode('-my-', {
|
|
||||||
'name': program.folder,
|
|
||||||
'relativePath': `Builds`,
|
|
||||||
'nodeType': 'cm:folder'
|
|
||||||
}, {}, {
|
|
||||||
'overwrite': true
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log(`Folder Builds/${program.folder} creation error ${JSON.stringify(error)}` );
|
|
||||||
|
|
||||||
folder = await alfrescoJsApi.nodes.getNode('-my-', {
|
|
||||||
'relativePath': `Builds/${program.folder}`,
|
|
||||||
'nodeType': 'cm:folder'
|
|
||||||
}, {}, {
|
|
||||||
'overwrite': true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const fileName of files) {
|
|
||||||
|
|
||||||
let pathFile = path.join(__dirname, '../demo-shell/zip/demo.zip');
|
|
||||||
|
|
||||||
console.log('Upload ' + pathFile);
|
|
||||||
let file = fs.createReadStream(pathFile);
|
|
||||||
|
|
||||||
try {
|
|
||||||
await alfrescoJsApi.upload.uploadFile(
|
|
||||||
file,
|
|
||||||
'',
|
|
||||||
folder.entry.id,
|
|
||||||
null,
|
|
||||||
{
|
|
||||||
'name': file.name,
|
|
||||||
'nodeType': 'cm:content'
|
|
||||||
});
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.log('error' + error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
@@ -1,103 +0,0 @@
|
|||||||
var program = require('commander');
|
|
||||||
var AlfrescoApi = require('alfresco-js-api-node');
|
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
|
||||||
var archiver = require('archiver');
|
|
||||||
|
|
||||||
writeZipLib = async function (zipName, zipFolder) {
|
|
||||||
|
|
||||||
if (!fs.existsSync(zipFolder)) {
|
|
||||||
fs.mkdirSync(zipFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
// create a file to stream archive data to.
|
|
||||||
let output = fs.createWriteStream(path.join(zipFolder, `${zipName}.zip`));
|
|
||||||
let archive = archiver('zip');
|
|
||||||
|
|
||||||
archive.pipe(output);
|
|
||||||
archive.directory(path.join(__dirname, `../lib/dist/${zipName}`), zipName);
|
|
||||||
|
|
||||||
return archive.finalize();
|
|
||||||
};
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
|
|
||||||
program
|
|
||||||
.version('0.1.0')
|
|
||||||
.usage('[options] <file ...>')
|
|
||||||
.option('-p, --password [type]', 'password')
|
|
||||||
.option('-u, --username [type]', 'username')
|
|
||||||
.option('-f, --folder [type]', 'Name of the folder')
|
|
||||||
.option('-host, --host [type]', 'URL of the CS')
|
|
||||||
.parse(process.argv);
|
|
||||||
|
|
||||||
let alfrescoJsApi = new AlfrescoApi({
|
|
||||||
provider: 'ECM',
|
|
||||||
hostEcm: program.host
|
|
||||||
});
|
|
||||||
|
|
||||||
let zipFolder = path.join(__dirname, '/../lib/dist/zip/');
|
|
||||||
|
|
||||||
await this.writeZipLib('core', zipFolder);
|
|
||||||
await this.writeZipLib('content-services', zipFolder);
|
|
||||||
await this.writeZipLib('process-services', zipFolder);
|
|
||||||
await this.writeZipLib('insights', zipFolder);
|
|
||||||
await this.writeZipLib('process-services-cloud', zipFolder);
|
|
||||||
|
|
||||||
let files = fs.readdirSync(path.join(__dirname, '../lib/dist/zip'));
|
|
||||||
|
|
||||||
if (files && files.length > 0) {
|
|
||||||
|
|
||||||
alfrescoJsApi.login(program.username, program.password);
|
|
||||||
let folder;
|
|
||||||
|
|
||||||
if (!program.folder) {
|
|
||||||
program.folder = Date.now();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
folder = await alfrescoJsApi.nodes.addNode('-my-', {
|
|
||||||
'name': program.folder,
|
|
||||||
'relativePath': `Builds`,
|
|
||||||
'nodeType': 'cm:folder'
|
|
||||||
}, {}, {
|
|
||||||
'overwrite': true
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log(`Folder Builds/${program.folder} creation error ${JSON.stringify(error)}` );
|
|
||||||
|
|
||||||
folder = await alfrescoJsApi.nodes.getNode('-my-', {
|
|
||||||
'relativePath': `Builds/${program.folder}`,
|
|
||||||
'nodeType': 'cm:folder'
|
|
||||||
}, {}, {
|
|
||||||
'overwrite': true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const fileName of files) {
|
|
||||||
|
|
||||||
let pathFile = path.join(__dirname, '../lib/dist/zip', fileName);
|
|
||||||
|
|
||||||
console.log('Upload ' + pathFile);
|
|
||||||
let file = fs.createReadStream(pathFile);
|
|
||||||
|
|
||||||
try {
|
|
||||||
await alfrescoJsApi.upload.uploadFile(
|
|
||||||
file,
|
|
||||||
'',
|
|
||||||
folder.entry.id,
|
|
||||||
null,
|
|
||||||
{
|
|
||||||
'name': file.name,
|
|
||||||
'nodeType': 'cm:content'
|
|
||||||
});
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.log('error' + error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
Reference in New Issue
Block a user