使用travis将版本发布到gh-pages而不删除以前的版本

时间:2018-03-22 14:49:58

标签: github webpack travis-ci github-pages yarnpkg

我想将版本发布到gh-pages。可以将部署提供程序配置为使用keep-history: true保留历史记录。但是我希望以前的版本不仅仅在git历史中可用,而是不能从存储库中删除。

我已经配置了yarn和webpack来为每个标记创建一个单独的目录,并将分发放在“最新”目录以及此标记特定目录中。我希望看到所有先前版本的标签目录,而不仅仅是最新版本。

以下是我当前配置的结果:https://github.com/retog/rdfgraphnode-rdfext/tree/gh-pages

1 个答案:

答案 0 :(得分:1)

我找到了以下解决方案。

travis.yml替换:

- provider: pages
  skip-cleanup: true
  github-token: $GITHUB_TOKEN
  keep-history: true
  local-dir: distribution
  on:
    tags: true

使用:

- provider: script
  script: bash .travis_publish
  on:
    tags: true

使用以下内容添加脚本文件.travis_publish

#!/bin/bash
PUBLICATION_BRANCH=gh-pages
# Checkout the branch
REPO_PATH=$PWD
pushd $HOME
git clone --branch=$PUBLICATION_BRANCH    https://${GITHUB_TOKEN}@github.com/$TRAVIS_REPO_SLUG publish 2>&1 > /dev/null
cd publish
# Update pages
cp -r $REPO_PATH/distribution .
# Commit and push latest version
git add .
git config user.name  "Travis"
git config user.email "travis@travis-ci.org"
git commit -m "Updated distribution."
git push -fq origin $PUBLICATION_BRANCH 2>&1 > /dev/null
popd