mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-02 02:42:41 +02:00
Initial commit
This commit is contained in:
commit
e3139eea2f
53 changed files with 7097 additions and 0 deletions
71
lib/publish-gh-pages.js
Normal file
71
lib/publish-gh-pages.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Copyright (c) 2017-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
const shell = require('shelljs');
|
||||
|
||||
const GIT_USER = process.env.GIT_USER;
|
||||
const CIRCLE_BRANCH = process.env.CIRCLE_BRANCH;
|
||||
const CIRCLE_PROJECT_USERNAME = process.env.CIRCLE_PROJECT_USERNAME;
|
||||
const CIRCLE_PROJECT_REPONAME = process.env.CIRCLE_PROJECT_REPONAME;
|
||||
const CI_PULL_REQUEST = process.env.CI_PULL_REQUEST;
|
||||
const remoteBranch = `https://${GIT_USER}@github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}.git`;
|
||||
|
||||
|
||||
if (!shell.which('git')) {
|
||||
shell.echo('Sorry, this script requires git');
|
||||
shell.exit(1);
|
||||
}
|
||||
|
||||
if (CI_PULL_REQUEST || CIRCLE_BRANCH !== `master`) {
|
||||
shell.echo('Skipping deploy');
|
||||
shell.exit(0);
|
||||
}
|
||||
|
||||
if (shell.exec('docusaurus-build').code) {
|
||||
shell.echo('Error: generating html failed');
|
||||
shell.exit(1);
|
||||
}
|
||||
|
||||
shell.cd(__dirname);
|
||||
shell.cd('..');
|
||||
shell.cd('build');
|
||||
|
||||
if (shell.exec(`git clone ${remoteBranch} ${CIRCLE_PROJECT_REPONAME}-gh-pages`).code !== 0) {
|
||||
shell.echo('Error: git clone failed');
|
||||
shell.exit(1);
|
||||
}
|
||||
|
||||
shell.cd(`${CIRCLE_PROJECT_REPONAME}-gh-pages`);
|
||||
|
||||
if (shell.exec('git checkout origin/gh-pages').code +
|
||||
shell.exec('git checkout -b gh-pages').code +
|
||||
shell.exec('git branch --set-upstream-to=origin/gh-pages').code !== 0
|
||||
) {
|
||||
shell.echo('Error: Git checkout gh-pages failed');
|
||||
shell.exit(1);
|
||||
}
|
||||
|
||||
shell.exec('rm -rf *');
|
||||
|
||||
shell.cd('../..');
|
||||
|
||||
shell.cp('-R', `build/${CIRCLE_PROJECT_REPONAME}/*`, `build/${CIRCLE_PROJECT_REPONAME}-gh-pages/`);
|
||||
shell.cd(`build/${CIRCLE_PROJECT_REPONAME}-gh-pages`);
|
||||
|
||||
shell.exec('git add --all');
|
||||
shell.exec('git commit -m "update website [ci skip]"');
|
||||
if (shell.exec('git push origin gh-pages').code !== 0) {
|
||||
shell.echo('Error: Git push failed');
|
||||
shell.exit(1);
|
||||
} else {
|
||||
shell.echo(`Website is live at: https://${CIRCLE_PROJECT_USERNAME}.github.io/${CIRCLE_PROJECT_REPONAME}/`);
|
||||
shell.exit(0);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue