Forráskód Böngészése

Speed up website deploys

By re-using local git repo for gh-pages, making it only sync changes to GitHub

Time for actual deploy going down from `1m19.204s` to `0m5.640s` in local test

/cc @arturi
Kevin van Zonneveld 6 éve
szülő
commit
73f89f08d9
3 módosított fájl, 18 hozzáadás és 15 törlés
  1. 1 0
      .travis.yml
  2. 17 13
      bin/web-deploy
  3. 0 2
      website/src/disc.html

+ 1 - 0
.travis.yml

@@ -15,6 +15,7 @@ cache:
   apt: true
   directories:
   - "~/.npm"
+  - "~/.transloadit"
 services:
 - docker
 addons:

+ 17 - 13
bin/web-deploy

@@ -5,16 +5,18 @@ set -o nounset
 # set -o xtrace
 
 # Set magic variables for current file & dir
-__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
-__base="$(basename ${__file} .sh)"
+# __dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+# __file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
+# __base="$(basename ${__file} .sh)"
 
 ghpages_repo=${GHPAGES_REPO:-"transloadit/uppy"}
 ghpages_branch=${GHPAGES_BRANCH:-"gh-pages"}
 ghpages_url=${GHPAGES_URL:-"git@github.com:${ghpages_repo}.git"}
 
-echo "--> Deploying to GitHub pages.."
-mkdir -p /tmp/deploy-${ghpages_repo}
+localDir="${HOME:-/home/${USER:-travis}}/.${ghpages_repo}/deploy"
+
+echo "--> Deploying to GitHub pages from '${localDir}'.."
+mkdir -p "${localDir}"
 
 # Custom steps
 rsync \
@@ -28,15 +30,17 @@ rsync \
   --no-group \
   --no-motd \
   --no-owner \
-./website/public/ /tmp/deploy-${ghpages_repo} > /dev/null
+./website/public/ "${localDir}" > /dev/null
 
 echo 'This branch is just a deploy target. Do not edit. You changes will be lost.' \
-  |tee /tmp/deploy-${ghpages_repo}/README.md
+  |tee "${localDir}/README.md" > /dev/null
 
-(cd /tmp/deploy-${ghpages_repo} \
-  && git init && git checkout -B ${ghpages_branch} && git add --all . \
-  && git commit -nm "Update ${ghpages_repo} website by ${USER}" \
-  && (git remote add origin ${ghpages_url}|| true)  \
-  && git push origin ${ghpages_branch}:refs/heads/${ghpages_branch} --force) > /dev/null
+(cd "${localDir}" \
+  && ([ -d .git ] || git init) && git checkout -B "${ghpages_branch}" && (git pull origin "${ghpages_branch}" || true) && git add --all . \
+  && git commit --allow-empty --no-verify --message="Update ${ghpages_repo} website by ${USER}" \
+  && (git remote add origin "${ghpages_url}"|| true)  \
+  && (git remote set-url origin "${ghpages_url}" || true)  \
+  && (git push origin "${ghpages_branch}:refs/heads/${ghpages_branch}" || git push origin "${ghpages_branch}:refs/heads/${ghpages_branch}" --force) \
+) > /dev/null
 
-rm -rf /tmp/deploy-${ghpages_repo}
+# rm -rf "${localDir}"

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 2
website/src/disc.html


Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott