This project is JKR3-Team used to automatically publish documents from gitlab.
form your develop computer
$ npm run deploy
or at server
npm run pm2
exec/build.sh <bookRepoName>
- create new book repos and push it to gitlab.
- go to
http://git.jkr3.com/<userid>/<your.book>/hooks
. - copy and paste
http://book.jkr3.com/webhook
inURL
. - make sure
Trigger
>Push events
is checked - and then press
Add Webhook
button - Done.
so, each time your push new commite to gitlab, it will automatic rebuild it. you can press the
Test Hook
button to rebuilding your books immediately.
Once the new version of the document push to gitlab, you will immediately see the latest version of the document in http://book.jkr3.com/books
Setup auth config:
Edit or create config file config/config[.NODE_ENV].json
{
"authGitlab": {
"clientID": "GITLAB_CLIENT_ID",
"clientSecret": "GITLAB_CLIENT_SECRET",
"callbackBaseURL": "http://your-app.com/",
"baseURL": "https://gitlab.your-company.com/",
"rejectUnauthorized":true
}
}
If your GitLab site use self-signed certificate, you may got InternalOAuthError: Failed to obtain access token
error, just set rejectUnauthorized
to false
.
Create self-signed certificate:
# Create a 2048 bit private key
sudo openssl genrsa -out "./ssl/gitbook-pub.key" 2048
# This command generates the certificate signing request
sudo openssl req -new -key "./ssl/gitbook-pub.key" -out "./ssl/gitbook-pub.csr"
# Create the signed certificate:
sudo openssl x509 -req -days 365 -in "./ssl/gitbook-pub.csr" -signkey "./ssl/gitbook-pub.key" -out "./ssl/gitbook-pub.crt"