• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

X1011/git-directory-deploy: deploy a directory as a git branch

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

X1011/git-directory-deploy

开源软件地址:

https://github.com/X1011/git-directory-deploy

开源编程语言:

Shell 100.0%

开源软件介绍:

This is a script for deploying generated files to a git branch, such as when building a single-page app using Yeoman and deploying to GitHub Pages. Unlike the git-subtree approach, it does not require the generated files be committed to the source branch. It keeps a linear history on the deploy branch and does not make superfluous commits or deploys when the generated files do not change.

Circle CI

For an example of use, see X1011/verge-mobile-bingo. For development info, see contributing.md.

configuration

Download the script (wget https://github.com/X1011/git-directory-deploy/raw/master/deploy.sh && chmod +x deploy.sh) and edit these variables within it as needed to fit your project:

  • deploy_directory: root of the tree of files to deploy
  • deploy_branch: branch to commit files to and push to origin
  • default_username, default_email: identity to use for git commits if none is set already. Useful for CI servers.
  • repo: repository to deploy to. Must be readable and writable. The default of "origin" will not work on Travis CI, since it uses the read-only git protocol. In that case, it is recommended to store a GitHub token in a secure environment variable and use it in an HTTPS URL like this: repo=https://$[email protected]/user/repo.git Warning: there is currently an issue where the repo URL may be output if an operation fails.

You can also define any of variables using environment variables and configuration files:

  • GIT_DEPLOY_DIR
  • GIT_DEPLOY_BRANCH
  • GIT_DEPLOY_REPO

The script will set these variables in this order of preference:

  1. Defaults set in the script itself.
  2. Environment variables.
  3. .env file in the path where you're running the script.
  4. File specified on the command-line (see the -c option below).

Whatever values set later in this list will override those set earlier.

run

Do this every time you want to deploy, or have your CI server do it.

  1. check out the branch or commit of the source you want to use. The script will use this commit to generate a message when it makes its own commit on the deploy branch.
  2. generate the files in deploy_directory
  3. make sure you have no uncommitted changes in git's index. The script will abort if you do. (It's ok to have uncommitted files in the work tree; the script does not touch the work tree.)
  4. if deploy_directory is a relative path (the default is), make sure you are in the directory you want to resolve against. (For the default, this means you should be in the project's root.)
  5. run ./deploy.sh

options

-h, --help: show the program's help info.

-c, --config-file: specify a file that overrides the script's default configuration, or those values set in .env. The syntax for this file should be normal var=value declarations. This option must come first on the command-line.

-m, --message <message>: specify message to be used for the commit on deploy_branch. By default, the message is the title of the source commit, prepended with 'publish: '.

-n, --no-hash: don't append the hash of the source commit to the commit message on deploy_branch. By default, the hash will be appended in a new paragraph, regardless of whether a message was specified with -m.

-v, --verbose: echo expanded commands as they are executed, using the xtrace option. This can be useful for debugging, as the output will include the values of variables that are being used, such as $commit_title and $deploy_directory. However, the script makes special effort to not output the value of $repo, as it may contain a secret authentication token.

-e, --allow-empty: allow deployment of an empty directory. By default, the script will abort if deploy_directory is empty.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap