mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
[ADF-5033] Improve publish script (#5297)
* check if npm package is already present before to publish * fix lint and remove duplicate password * fix script
This commit is contained in:
parent
8541591816
commit
cf83630573
@ -29,7 +29,13 @@ export function exec(command: string, args?: string[], opts?: { cwd?: string })
|
|||||||
const { status, error, stderr, stdout } = spawnSync(command, args, { ...opts });
|
const { status, error, stderr, stdout } = spawnSync(command, args, { ...opts });
|
||||||
|
|
||||||
if (status !== 0) {
|
if (status !== 0) {
|
||||||
logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`);
|
|
||||||
|
if (args) {
|
||||||
|
logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`);
|
||||||
|
} else {
|
||||||
|
logger.error(`Command failed ${command}`);
|
||||||
|
}
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
logger.error('Error: ' + (error ? error.message : 'undefined'));
|
logger.error('Error: ' + (error ? error.message : 'undefined'));
|
||||||
} else {
|
} else {
|
||||||
|
@ -41,23 +41,43 @@ const projects = [
|
|||||||
'extensions'
|
'extensions'
|
||||||
];
|
];
|
||||||
|
|
||||||
function npmPublish(args: PublishArgs, project: string) {
|
async function npmPublish(args: PublishArgs, project: string) {
|
||||||
if (args.npmRegistry) {
|
if (args.npmRegistry) {
|
||||||
changeRegistry(args, project);
|
changeRegistry(args, project);
|
||||||
}
|
}
|
||||||
logger.info(`Publishing lib ${project} to npm`);
|
|
||||||
const options = ['publish'];
|
const version = require(`${args.pathProject}/lib/dist/${project}/package.json`).version;
|
||||||
if (args.tag) {
|
|
||||||
options.push('-tag');
|
const exist = npmCheckExist(project, version);
|
||||||
options.push(`${args.tag}`);
|
|
||||||
}
|
if (!exist) {
|
||||||
const response = exec('npm', options, { cwd: path.resolve(`${args.pathProject}/lib/dist/${project}`) });
|
logger.info(`Publishing lib ${project} to npm`);
|
||||||
logger.info(response);
|
const options = ['publish'];
|
||||||
if (args.npmRegistry) {
|
if (args.tag) {
|
||||||
removeNPMRC(args, project);
|
options.push('-tag');
|
||||||
|
options.push(`${args.tag}`);
|
||||||
|
}
|
||||||
|
const response = exec('npm', options, { cwd: path.resolve(`${args.pathProject}/lib/dist/${project}`) });
|
||||||
|
logger.info(response);
|
||||||
|
if (args.npmRegistry) {
|
||||||
|
removeNPMRC(args, project);
|
||||||
|
}
|
||||||
|
|
||||||
|
await sleep(120000);
|
||||||
|
} else {
|
||||||
|
logger.info(`@alfresco/adf-${project}@${version} already exist`);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function npmCheckExist(project: string, version: string) {
|
||||||
|
logger.info(`Check if lib ${project} is already in npm`);
|
||||||
|
|
||||||
|
const exist = exec(`npm`, [`view`, `@alfresco/adf-${project}@${version} version`] );
|
||||||
|
|
||||||
|
return exist !== '';
|
||||||
|
}
|
||||||
|
|
||||||
function changeRegistry(args: PublishArgs, project: string) {
|
function changeRegistry(args: PublishArgs, project: string) {
|
||||||
logger.info(`Change registry... `);
|
logger.info(`Change registry... `);
|
||||||
const folder = `${args.pathProject}/lib/dist/${project}`;
|
const folder = `${args.pathProject}/lib/dist/${project}`;
|
||||||
@ -98,9 +118,8 @@ async function main(args) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < projects.length; i++) {
|
for (let i = 0; i < projects.length; i++) {
|
||||||
await sleep(120000);
|
|
||||||
logger.info(`========Analyzing project: ${projects[i]} ========`);
|
logger.info(`========Analyzing project: ${projects[i]} ========`);
|
||||||
npmPublish(args, projects[i]);
|
await npmPublish(args, projects[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ export interface CommitArgs {
|
|||||||
skipGnu: boolean;
|
skipGnu: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
function commitPerform(args: CommitArgs): string {
|
function getSha(args: CommitArgs): string {
|
||||||
logger.info('Check commit sha...');
|
logger.info('Check commit sha...');
|
||||||
|
|
||||||
const gitPointer = args.pointer ? args.pointer : 'HEAD';
|
const gitPointer = args.pointer ? args.pointer : 'HEAD';
|
||||||
@ -57,7 +57,7 @@ function main(args) {
|
|||||||
.version('0.1.0')
|
.version('0.1.0')
|
||||||
.description('This command allows you to update the commit sha as part of the package.json.\n' +
|
.description('This command allows you to update the commit sha as part of the package.json.\n' +
|
||||||
'Your package.json must to have an existing property called "commit.\n\n' +
|
'Your package.json must to have an existing property called "commit.\n\n' +
|
||||||
'adf-cli update-commit-sha --pointer "HEAD~1" --pathProject "$(pwd)"\n\n' +
|
'adf-cli update-commit-sha --pointer "HEAD~1" --pathProject "$(pwd)"\n\n' +
|
||||||
'adf-cli update-commit-sha --pathProject "$(pwd)" --skipGnu')
|
'adf-cli update-commit-sha --pathProject "$(pwd)" --skipGnu')
|
||||||
.option('--pointer [type]', 'pointer')
|
.option('--pointer [type]', 'pointer')
|
||||||
.option('--pathPackage [type]', 'pathPackage')
|
.option('--pathPackage [type]', 'pathPackage')
|
||||||
@ -68,7 +68,7 @@ function main(args) {
|
|||||||
program.outputHelp();
|
program.outputHelp();
|
||||||
}
|
}
|
||||||
|
|
||||||
const sha = commitPerform(args);
|
const sha = getSha(args);
|
||||||
|
|
||||||
replacePerform(args, sha);
|
replacePerform(args, sha);
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|||||||
|
|
||||||
cd $DIR/../../../
|
cd $DIR/../../../
|
||||||
|
|
||||||
node ./scripts/travis/deploy/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/travis/deploy/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1);
|
node ./scripts/travis/deploy/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/travis/deploy/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $DOCKER_REPOSITORY_USER -p $DOCKER_REPOSITORY_PASSWORD || exit 1);
|
||||||
|
|
||||||
(node --no-deprecation ./scripts/travis/deploy/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);
|
(node --no-deprecation ./scripts/travis/deploy/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);
|
||||||
|
@ -18,11 +18,11 @@ name_docker_repo(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
username_docker_repo(){
|
username_docker_repo(){
|
||||||
USERNAME_DOCKER=$1
|
DOCKER_REPOSITORY_USER=$1
|
||||||
}
|
}
|
||||||
|
|
||||||
password_docker_repo(){
|
password_docker_repo(){
|
||||||
PASSWORD_DOCKER=$1
|
DOCKER_REPOSITORY_PASSWORD=$1
|
||||||
}
|
}
|
||||||
|
|
||||||
while [[ $1 == -* ]]; do
|
while [[ $1 == -* ]]; do
|
||||||
@ -43,7 +43,7 @@ echo "====== PUBLISH DOCKER IMAGE TAG pr $NAME_PR ====="
|
|||||||
docker build -t $DOCKER_REPO/adf/demo-shell:$NAME_PR --build-arg BUILD_NUMBER=$NAME_PR .
|
docker build -t $DOCKER_REPO/adf/demo-shell:$NAME_PR --build-arg BUILD_NUMBER=$NAME_PR .
|
||||||
|
|
||||||
echo "====== LOGIN ====="
|
echo "====== LOGIN ====="
|
||||||
docker login http://$DOCKER_REPO -p $PASSWORD_DOCKER -u $USERNAME_DOCKER
|
docker login http://$DOCKER_REPO -p $DOCKER_REPOSITORY_PASSWORD -u $DOCKER_REPOSITORY_USER
|
||||||
docker push "$DOCKER_REPO/adf/demo-shell:$NAME_PR"
|
docker push "$DOCKER_REPO/adf/demo-shell:$NAME_PR"
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user