Browse Source

travis update

dev
thuhole 5 years ago
parent
commit
8985c7b4a0
  1. 1
      .env
  2. 13
      .travis.yml
  3. 2
      package.json
  4. 27
      travis_deploy.sh

1
.env

@ -1,3 +1,2 @@
REACT_APP_VERSION=$npm_package_version REACT_APP_VERSION=$npm_package_version
EXTEND_ESLINT=true EXTEND_ESLINT=true
PUBLIC_URL=https://cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages

13
.travis.yml

@ -6,14 +6,5 @@ cache:
- node_modules - node_modules
after_success: after_success:
- git config --global user.name "thuhole" - chmod +x ./travis_deploy.sh
- git config --global user.email "[email protected]" - ./travis_deploy.sh
- git remote rm origin
- git remote add origin https://thuhole:${GH_TOKEN}@github.com/thuhole/webhole.git
- CI=false REACT_APP_BUILD_INFO=$(printf "Dev%s" "$(TZ=Asia/Shanghai date +"%y%m%d%H%M%S")") npm run build
#额,这里用了个骚操作来修复Service Worker在Precache CDN内容的时候index.html返回content-type text/plain的问题
- sed -i 's/\/\/cdn.jsdelivr.net\/gh\/thuhole\/webhole@gh-pages\/index.html/.\/index.html/g' build/*-*
- sed -i 's/\/\/cdn.jsdelivr.net\/gh\/thuhole\/webhole@gh-pages\/service-worker.js/.\/service-worker.js/g' build/*-*
- sed -i 's/"\/\/cdn.jsdelivr.net\/gh\/thuhole\/webhole@gh-pages","\/service-worker.js"/".","\/service-worker.js"/' build/static/js/*.js
- sed -i 's/storage.googleapis.com\/workbox-cdn\/releases\/4.3.1/cdn.jsdelivr.net\/npm\/[email protected]\/workbox/g' build/service-worker.js
- npm run deploy

2
package.json

@ -23,7 +23,7 @@
"build": "react-scripts build", "build": "react-scripts build",
"test": "echo 'skipped react-scripts test --env=jsdom'", "test": "echo 'skipped react-scripts test --env=jsdom'",
"predeploy": "", "predeploy": "",
"deploy": "gh-pages -d build -m $(TZ=Asia/Shanghai date +\"%y%m%d%H%M%S\")", "deploy": "gh-pages -b $DEPLOY_BRANCH -d build -m $(TZ=Asia/Shanghai date +\"%y%m%d%H%M%S\")",
"eject": "react-scripts eject", "eject": "react-scripts eject",
"lint": "eslint --fix src/*.js" "lint": "eslint --fix src/*.js"
}, },

27
travis_deploy.sh

@ -0,0 +1,27 @@
#!/bin/bash
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
echo "skip deploy for pull request..."
exit 0
fi
if [ "$TRAVIS_BRANCH" = "master" ]; then
export DEPLOY_BRANCH="gh-pages-master"
else
export DEPLOY_BRANCH="gh-pages"
fi
CDN_URL="https://cdn.jsdelivr.net/gh/thuhole/webhole@$DEPLOY_BRANCH"
VERSION_NUMBER="v$(grep -oP '"version": "\K[^"]+' package.json | head -n1).$TRAVIS_BUILD_NUMBER"
echo "DEPLOY_BRANCH=$DEPLOY_BRANCH, VERSION_NUMBER=$VERSION_NUMBER, CDN_URL=$CDN_URL"
git config --global user.name "thuhole"
git config --global user.email "[email protected]"
git remote rm origin
git remote add origin https://thuhole:"${GH_TOKEN}"@github.com/thuhole/webhole.git
CI=false PUBLIC_URL=$CDN_URL REACT_APP_BUILD_INFO=$VERSION_NUMBER npm run build
#额,这里用了个骚操作来修复Service Worker在Precache CDN内容的时候index.html返回content-type text/plain的问题
sed -i 's|//cdn.jsdelivr.net/gh/thuhole/webhole@'"$DEPLOY_BRANCH"'/index.html|./index.html|g' build/*-*
sed -i 's|//cdn.jsdelivr.net/gh/thuhole/webhole@'"$DEPLOY_BRANCH"'/service-worker.js|./service-worker.js|g' build/*-*
sed -i 's|"//cdn.jsdelivr.net/gh/thuhole/webhole@'"$DEPLOY_BRANCH"'","/service-worker.js"|".","/service-worker.js"|' build/static/js/*.js
sed -i 's|storage.googleapis.com/workbox-cdn/releases/4.3.1|cdn.jsdelivr.net/npm/[email protected]/workbox|g' build/service-worker.js
npm run deploy
Loading…
Cancel
Save