https://github.com/creative-workflow/capistrano-scm-localgitcopy
A copy strategy for Capistrano 3, which uses git ls-files local, tars the files, uploads and extracts. This could be usefull if you are in a shared hosting environment.
https://github.com/creative-workflow/capistrano-scm-localgitcopy
Last synced: 6 days ago
JSON representation
A copy strategy for Capistrano 3, which uses git ls-files local, tars the files, uploads and extracts. This could be usefull if you are in a shared hosting environment.
- Host: GitHub
- URL: https://github.com/creative-workflow/capistrano-scm-localgitcopy
- Owner: creative-workflow
- License: mit
- Created: 2017-08-18T17:27:45.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-19T10:35:05.000Z (almost 9 years ago)
- Last Synced: 2025-11-30T04:22:18.099Z (7 months ago)
- Language: Ruby
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# capistrano-scm-localgitcopy
A copy strategy for Capistrano 3, which uses `git ls-files` local, tars the files, uploads and extracts.
It depends on the local git revision.
It is helpfull if you have a shred web hoster like netcup with a very limited set of commands.
## Requirements
Machine running Capistrano:
- Capistrano 3
- tar
- git
Servers:
- tar
## Installation
First make sure you install the capistrano-scm-localgitcopy by adding it to your `Gemfile`:
gem "capistrano-scm-localgitcopy"
Add to Capfile:
require 'capistrano/scm/localgitcopy'
install_plugin Capistrano::SCM::LocalGitCopy
## Configuration (defaults)
```
set :local_git_copy_archive_name, 'deploy-archive.tar.gz' # local archive name
set :local_git_copy_include_dir, './' # you can use a subfolder for deployment
set :local_git_copy_tar_roles, :all # roles to run on tar
set :local_git_copy_tar_verbose, true # enable verbose mode for tar
set :local_git_copy_exclude_dir, nil # exclude directories
set :local_git_copy_temp_file, '/tmp/deploy-archive.tar.gz' # temp file on server
```
## Pitfall: git and utf 8 chars
If you have problems with utf8 chars in file names that wont included in the deploy tar, do the following:
```
$ git config --global core.precomposeunicode true
$ git config core.precomposeunicode.true
$ git ls-files | grep "\""
$ git rm --cached "`printf ""`" #this for each file
$ git commit -m "clean up bad encoding of file names"
```
### License
The MIT License (MIT)
### Changelog
##### 0.2.0
- add prefix `local_git_copy_` to options
- rename plugin class from `Capistrano::SCM::Localgitcopy` to `Capistrano::SCM::LocalGitCopy`
- really use `local_git_copy_tar_roles`
##### 0.1.0
- Initial release