forked from juniorz/documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeveloper-ci.sh
68 lines (56 loc) · 1.43 KB
/
developer-ci.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
set -e
book='developer'
rm -rf $HOME/.node
mkdir -p $HOME/.node
git_short_sha=$(git log -1 --format=%h)
nvm_get_os() {
local NVM_UNAME
NVM_UNAME="$(uname -a)"
local NVM_OS
case "$NVM_UNAME" in
Linux\ *) NVM_OS=linux ;;
Darwin\ *) NVM_OS=darwin ;;
SunOS\ *) NVM_OS=sunos ;;
FreeBSD\ *) NVM_OS=freebsd ;;
esac
echo "$NVM_OS"
}
nvm_get_arch() {
local NVM_UNAME
NVM_UNAME="$(uname -a)"
local NVM_ARCH
case "$NVM_UNAME" in
*x86_64*) NVM_ARCH=x64 ;;
*i*86*) NVM_ARCH=x86 ;;
*) NVM_ARCH="$(uname -m)" ;;
esac
echo "$NVM_ARCH"
}
if [ -n "$GO_SERVER_URL" ]; then
curl --fail --silent http://nodejs.org/dist/v0.12.7/node-v0.12.7-$(nvm_get_os)-$(nvm_get_arch).tar.gz | tar --strip-components=1 -zx -C $HOME/.node
fi
export PATH=$HOME/.node/bin:$PATH
npm prune
npm install
export PATH=$(npm bin):$PATH
(
cd $book
gitbook install
gitbook build .
grunt --build=developer
rm -rf $HOME/.gocd-$book-docs
mv _book $HOME/.gocd-$book-docs
)
if [ -n "$PUSH_CHANGES" ]; then
git clean -dffx
git fetch --all
git branch -D gh-pages || true
git checkout -b gh-pages origin/gh-pages
git clean -dffx
rm -rf $book
mv $HOME/.gocd-$book-docs $book
git add --all $book
git commit -m "Updating site to latest commit ($git_short_sha)." --author "GoCD <go-cd-dev@googlegroups.com>"
git push https://${GITHUB_USERNAME}:${GITHUB_PASSWORD}@github.com/gocd/documentation gh-pages:gh-pages
fi