octopress-deploy 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.clash.yml +53 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +7 -0
- data/README.md +9 -1
- data/lib/octopress-deploy.rb +7 -0
- data/lib/octopress-deploy/commands.rb +54 -4
- data/lib/octopress-deploy/rsync.rb +13 -13
- data/lib/octopress-deploy/s3.rb +1 -1
- data/lib/octopress-deploy/version.rb +1 -1
- data/octopress-deploy.gemspec +2 -0
- data/test/_git_deploy_local.yml +12 -0
- data/test/_rsync_deploy_local.yml +13 -0
- data/test/garbage.rb +14 -0
- metadata +38 -7
- data/test/_deploy_rsync.yml +0 -6
- data/test/_deploy_rsync_local.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9d2703f3a60fefc2dad07bed5c89667893aaced
|
4
|
+
data.tar.gz: 2186ef8eb38190518f08e43ac60962b0c635a51f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d7ed8e4498f809bcdef3ef2ffe14b498485a3efa2fa0e3069f94f041a019dc8d09ba50862b9e3c5541a45dcba273f4ce46988bfa1cee86d2dd2c685a46c4db9
|
7
|
+
data.tar.gz: 4c928e03d4248bde22c379365446a63bc33b9c2a01263b80d773c1276b65bc30840ef03dc79325b1d0dd33401339abd675435c3de6dba75d6b815eb8bbf7d792
|
data/.clash.yml
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
-
|
2
|
+
tasks:
|
3
|
+
cleanup:
|
4
|
+
- rm -rf build local-rsync pull-rsync pull-s3 .deploy pull-git local-git pull-s3 remote-rsync
|
5
|
+
reset:
|
6
|
+
- cleanup
|
7
|
+
- cp -r source/ _site
|
8
|
+
- ruby garbage.rb
|
9
|
+
-
|
10
|
+
title: Test local Rsync
|
11
|
+
before:
|
12
|
+
- reset
|
13
|
+
- octopress deploy init rsync --dir local-rsync --config _rsync_deploy_local.yml --force
|
14
|
+
- octopress deploy --config _rsync_deploy_local.yml
|
15
|
+
compare: _site local-rsync
|
16
|
+
|
17
|
+
-
|
18
|
+
title: Test remote Rsync
|
19
|
+
before:
|
20
|
+
- reset
|
21
|
+
- octopress deploy --config _rsync_deploy.yml
|
22
|
+
- octopress deploy pull pull-rsync --config _rsync_deploy.yml
|
23
|
+
compare: _site pull-rsync
|
24
|
+
|
25
|
+
-
|
26
|
+
title: Test local Git
|
27
|
+
before:
|
28
|
+
- reset
|
29
|
+
- git init --bare local-git
|
30
|
+
- octopress deploy init git --branch test_git_deploy --url ./local-git --dir site --config _git_deploy_local.yml --force
|
31
|
+
- octopress deploy --config _git_deploy_local.yml
|
32
|
+
- octopress deploy pull pull-git --config _git_deploy_local.yml
|
33
|
+
- rm -rf pull-git/.git
|
34
|
+
compare: _site pull-git/site
|
35
|
+
|
36
|
+
-
|
37
|
+
title: Test remote Git
|
38
|
+
before:
|
39
|
+
- reset
|
40
|
+
- octopress deploy init git --branch test_git_deploy --url git@github.com:octopress/deploy --config _git_deploy.yml --force
|
41
|
+
- octopress deploy --config _git_deploy.yml
|
42
|
+
- octopress deploy pull pull-git --config _git_deploy.yml
|
43
|
+
- rm -rf pull-git/.git
|
44
|
+
compare: _site pull-git
|
45
|
+
|
46
|
+
-
|
47
|
+
title: Test S3
|
48
|
+
before:
|
49
|
+
- reset
|
50
|
+
- octopress deploy s3 --config _s3_deploy.yml
|
51
|
+
- octopress deploy pull pull-s3 --config _s3_deploy.yml
|
52
|
+
compare: _site pull-s3
|
53
|
+
after: cleanup
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Octopress Deploy Changelog
|
2
2
|
|
3
|
+
### 1.0.1 - 2014-12-27
|
4
|
+
- Added command line options for setting contents of config file
|
5
|
+
- Added support for Octopress docs
|
6
|
+
|
7
|
+
### 1.0.0 - 2014-09-24
|
8
|
+
- Deemed suitable for use
|
9
|
+
|
3
10
|
### 1.0.0 RC11 - 2014-07-06
|
4
11
|
- Fix: Changed git add command to be more broadly suitable.
|
5
12
|
|
data/README.md
CHANGED
@@ -24,6 +24,13 @@ directory which you can edit to add any necessary configuration.
|
|
24
24
|
**Remember to add your configuration to `.gitignore` to be sure
|
25
25
|
you never commit sensitive information to your repository.**
|
26
26
|
|
27
|
+
You can pass configurations as command line options. To see specific options for any method, add the `--help` flag.
|
28
|
+
For example to see the options for configuring S3:
|
29
|
+
|
30
|
+
```sh
|
31
|
+
$ octopress deploy init s3 --help
|
32
|
+
```
|
33
|
+
|
27
34
|
## Deploying your site.
|
28
35
|
|
29
36
|
Deployment is tailored to work with Jekyll, but it will work for
|
@@ -157,8 +164,9 @@ Only `git_url` is required. Other options will default as shown below.
|
|
157
164
|
| `user` | ssh user, e.g user@host.com | |
|
158
165
|
| `port` | ssh port | 22 |
|
159
166
|
| `remote_path` | Remote destination's document root | |
|
160
|
-
| `
|
167
|
+
| `exclude_from` | Path to a file containing rsync exclusions | |
|
161
168
|
| `exclude` | Inline list of rsync exclusions | |
|
169
|
+
| `include_from` | Path to a file containing rsync inclusions | |
|
162
170
|
| `include` | Inline list of inclusions to override exclusions | |
|
163
171
|
| `delete` | Delete files in destination not found in source | false |
|
164
172
|
|
data/lib/octopress-deploy.rb
CHANGED
@@ -141,3 +141,10 @@ FILE
|
|
141
141
|
|
142
142
|
end
|
143
143
|
end
|
144
|
+
|
145
|
+
Octopress::Docs.add({
|
146
|
+
name: "Octopress Deploy",
|
147
|
+
description: "An Octopress plugin for deploying static websites.",
|
148
|
+
path: File.expand_path(File.join(File.dirname(__FILE__), "../")),
|
149
|
+
source_url: "https://github.com/octopress/deploy",
|
150
|
+
})
|
@@ -26,11 +26,55 @@ module Octopress
|
|
26
26
|
c.command(:init) do |c|
|
27
27
|
c.syntax 'init <METHOD> [options]'
|
28
28
|
c.description "Create a configuration file for a deployment method (#{Deploy::METHODS.keys.join(', ')})."
|
29
|
-
c.option 'force', '--force', 'Initialize a config file even if it already exists.'
|
30
29
|
|
31
|
-
c.
|
32
|
-
options
|
33
|
-
|
30
|
+
c.command(:rsync) do |c|
|
31
|
+
c.syntax 'rsync [options]'
|
32
|
+
c.description "Create an rsync deployment configuration file."
|
33
|
+
c.option 'user', '-u', '--user USER', 'SSH user (e.g. username@host.org)'
|
34
|
+
c.option 'port', '-p', '--port PORT', 'SSH port (default: 22)'
|
35
|
+
c.option 'flags', '-f', '--flags FLAGS', 'Flags to pass to Rsync command (default: -avz)'
|
36
|
+
c.option 'remote_path', '--dir DIR', 'Path to site directory on host (e.g. ~/webroot/)'
|
37
|
+
c.option 'delete', '--delete', 'Sync file deletion'
|
38
|
+
add_common_init_options(c)
|
39
|
+
|
40
|
+
c.action do |args, options|
|
41
|
+
options['method'] = 'rsync'
|
42
|
+
Octopress::Deploy.init_config(options)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
c.command(:git) do |c|
|
47
|
+
c.syntax 'git [options]'
|
48
|
+
c.description "Create a git deployment configuration file."
|
49
|
+
c.option 'git_url', '-u', '--url URL', 'Git url (e.g. git@github.com:user/project)'
|
50
|
+
c.option 'git_branch', '-b', '--branch NAME', 'Branch to deploy to (default: master)'
|
51
|
+
c.option 'remote_path', '-d', '--dir DIR', 'Deploy site into a subdirectory.'
|
52
|
+
c.option 'delete', '--delete', 'Sync file deletion'
|
53
|
+
add_common_init_options(c)
|
54
|
+
|
55
|
+
c.action do |args, options|
|
56
|
+
options['method'] = 'git'
|
57
|
+
options['git_url'].sub!(/^\./, Dir.pwd)
|
58
|
+
Octopress::Deploy.init_config(options)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
c.command(:s3) do |c|
|
63
|
+
c.syntax 's3 [options]'
|
64
|
+
c.description "Create an S3 deployment configuration file."
|
65
|
+
c.option 'bucket_name', '-b', '--bucket NAME', 'S3 Bucket name'
|
66
|
+
c.option 'access_key_id', '-a', '--access KEY', 'Access key id'
|
67
|
+
c.option 'secret_access_key', '-s', '--secret KEY', 'Secret access key'
|
68
|
+
c.option 'region', '-r', '--region REGION', 'AWS region (default: us-east-1)'
|
69
|
+
c.option 'remote_path', '-d', '--dir DIR', 'Deploy site into a subdirectory.'
|
70
|
+
c.option 'verbose', '-v', '--verbose', 'Log verbose output when deploying (default: true)'
|
71
|
+
c.option 'delete', '--delete', 'Sync file deletion'
|
72
|
+
add_common_init_options(c)
|
73
|
+
|
74
|
+
c.action do |args, options|
|
75
|
+
options['method'] = 's3'
|
76
|
+
Octopress::Deploy.init_config(options)
|
77
|
+
end
|
34
78
|
end
|
35
79
|
end
|
36
80
|
|
@@ -49,6 +93,12 @@ module Octopress
|
|
49
93
|
end
|
50
94
|
end
|
51
95
|
end
|
96
|
+
|
97
|
+
def self.add_common_init_options(c)
|
98
|
+
c.option 'site_dir', '--site', 'Path to generated site (default: _site).'
|
99
|
+
c.option 'force', '--force', 'Overwrite any exiting config file.'
|
100
|
+
c.option 'config_file', '--config FILE', 'Choose a config file name. (default. _deploy.yml)'
|
101
|
+
end
|
52
102
|
end
|
53
103
|
end
|
54
104
|
end
|
@@ -10,11 +10,11 @@ module Octopress
|
|
10
10
|
@local = @options[:site_dir] || '_site'
|
11
11
|
@remote_path = @options[:remote_path]
|
12
12
|
@exclude = @options[:exclude]
|
13
|
-
@
|
14
|
-
@
|
13
|
+
@exclude_from = @options[:exclude_from]
|
14
|
+
@exclude_from = File.expand_path(@exclude_from) if @exclude_from
|
15
15
|
@include = @options[:include]
|
16
|
-
@
|
17
|
-
@
|
16
|
+
@exclude_from = @options[:include_from]
|
17
|
+
@exclude_from = File.expand_path(@include_from) if @include_from
|
18
18
|
@delete = @options[:delete] || false
|
19
19
|
@pull_dir = @options[:dir]
|
20
20
|
end
|
@@ -35,10 +35,10 @@ module Octopress
|
|
35
35
|
|
36
36
|
cmd = "rsync "
|
37
37
|
cmd << "#{@flags} "
|
38
|
-
cmd << " -e" if @
|
39
|
-
cmd << " --exclude-from #{@
|
38
|
+
cmd << " -e" if @exclude_from || @exclude
|
39
|
+
cmd << " --exclude-from #{@exclude_from}" if @exclude_from
|
40
40
|
cmd << " --exclude #{@exclude}" if @exclude
|
41
|
-
cmd << " --include-from #{@
|
41
|
+
cmd << " --include-from #{@include_from}" if @include_from
|
42
42
|
cmd << " --include #{@include}" if @include
|
43
43
|
cmd << " --rsh='ssh -p#{@port}'" if @user && @port
|
44
44
|
cmd << " --delete " if @delete
|
@@ -59,13 +59,13 @@ module Octopress
|
|
59
59
|
#{"user: #{options[:user]}".ljust(40)} # The user for your host, e.g. user@host.com
|
60
60
|
#{"remote_path: #{options[:remote_path]}".ljust(40)} # Destination directory
|
61
61
|
#{"delete: #{options[:delete]}".ljust(40)} # Remove files from destination which don't match files in source
|
62
|
+
#{"port: #{options[:port]}".ljust(40)} # If your host requires a non standard port
|
63
|
+
#{"flags: #{options[:flags] || ' -avz'}".ljust(40)} # Modify flags as necessary to suit your hosting setup
|
62
64
|
|
63
|
-
#{"#
|
64
|
-
#{"#
|
65
|
-
#{"#
|
66
|
-
#{"#
|
67
|
-
#{"# include: ".ljust(40)} # Path to file containing list of files to include
|
68
|
-
#{"# include-file: ".ljust(40)} # Path to file containing list of files to include
|
65
|
+
#{"# exclude: ".ljust(40)} # files to exclude
|
66
|
+
#{"# exclude-from: ".ljust(40)} # Path to file containing list of files to exclude
|
67
|
+
#{"# include: ".ljust(40)} # files to include
|
68
|
+
#{"# include-from: ".ljust(40)} # Path to file containing list of files to include
|
69
69
|
CONFIG
|
70
70
|
end
|
71
71
|
|
data/lib/octopress-deploy/s3.rb
CHANGED
@@ -219,8 +219,8 @@ module Octopress
|
|
219
219
|
#{"access_key_id: #{options[:access_key_id]}".ljust(40)} # Get this from your AWS console at aws.amazon.com.
|
220
220
|
#{"secret_access_key: #{options[:secret_access_key]}".ljust(40)} # Keep it safe; keep it secret. Keep this file in your .gitignore.
|
221
221
|
#{"remote_path: #{options[:remote_path] || '/'}".ljust(40)} # relative path on bucket where files should be copied.
|
222
|
+
#{"region: #{options[:remote_path] || 'us-east-1'}".ljust(40)} # Region where your bucket is located.
|
222
223
|
|
223
|
-
#{"# region: #{options[:region] || 'us-east-1'}".ljust(40)} # Region where your bucket is located.
|
224
224
|
#{"# delete: #{options[:delete] || 'true'}".ljust(40)} # Remove files from destination which do not match source files.
|
225
225
|
#{"# verbose: #{options[:verbose] || 'true'}".ljust(40)} # Print out all file operations.
|
226
226
|
CONFIG
|
data/octopress-deploy.gemspec
CHANGED
@@ -23,6 +23,8 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
24
|
spec.add_development_dependency "octopress"
|
25
25
|
spec.add_development_dependency "rake"
|
26
|
+
spec.add_development_dependency "clash"
|
27
|
+
spec.add_development_dependency "aws-sdk"
|
26
28
|
|
27
29
|
if RUBY_VERSION >= "2"
|
28
30
|
spec.add_development_dependency "pry-byebug"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
method: git # How do you want to deploy? git, rsync or s3.
|
2
|
+
site_dir: _site # Location of your your static site files.
|
3
|
+
|
4
|
+
git_url: /Users/imathis/workspace/octodev/deploy/test/local-git # remote repository url, e.g. git@github.com:username/repo_name
|
5
|
+
|
6
|
+
# Note on git_branch:
|
7
|
+
# If using GitHub project pages, set the branch to 'gh-pages'.
|
8
|
+
# For GitHub user/organization pages or Heroku, set the branch to 'master'.
|
9
|
+
#
|
10
|
+
git_branch: test_git_deploy # Git branch where static site files are commited
|
11
|
+
|
12
|
+
remote_path: site # Destination directory
|
@@ -0,0 +1,13 @@
|
|
1
|
+
method: rsync # How do you want to deploy? git, rsync or s3.
|
2
|
+
site_dir: _site # Location of your your static site files.
|
3
|
+
|
4
|
+
user: # The user for your host, e.g. user@host.com
|
5
|
+
remote_path: local-rsync # Destination directory
|
6
|
+
delete: # Remove files from destination which don't match files in source
|
7
|
+
port: # If your host requires a non standard port
|
8
|
+
flags: -avz # Modify flags as necessary to suit your hosting setup
|
9
|
+
|
10
|
+
# exclude: # files to exclude
|
11
|
+
# exclude-from: # Path to file containing list of files to exclude
|
12
|
+
# include: # files to include
|
13
|
+
# include-from: # Path to file containing list of files to include
|
data/test/garbage.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'find'
|
2
|
+
|
3
|
+
def add_garbage
|
4
|
+
Find.find('_site').to_a.each do |f|
|
5
|
+
system("echo '#{garbage}' >> #{f}") unless File.directory?(f)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def garbage
|
10
|
+
o = [('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten
|
11
|
+
(0...50).map { o[rand(o.length)] }.join
|
12
|
+
end
|
13
|
+
|
14
|
+
add_garbage
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopress-deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorator
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: clash
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: aws-sdk
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: pry-byebug
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,6 +129,7 @@ executables: []
|
|
101
129
|
extensions: []
|
102
130
|
extra_rdoc_files: []
|
103
131
|
files:
|
132
|
+
- ".clash.yml"
|
104
133
|
- ".gitignore"
|
105
134
|
- CHANGELOG.md
|
106
135
|
- Gemfile
|
@@ -118,8 +147,9 @@ files:
|
|
118
147
|
- octopress-deploy.gemspec
|
119
148
|
- test/.gitignore
|
120
149
|
- test/Gemfile
|
121
|
-
- test/
|
122
|
-
- test/
|
150
|
+
- test/_git_deploy_local.yml
|
151
|
+
- test/_rsync_deploy_local.yml
|
152
|
+
- test/garbage.rb
|
123
153
|
- test/source/.hidden
|
124
154
|
- test/source/dir/file
|
125
155
|
- test/source/test_file
|
@@ -144,15 +174,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
174
|
version: '0'
|
145
175
|
requirements: []
|
146
176
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
177
|
+
rubygems_version: 2.2.2
|
148
178
|
signing_key:
|
149
179
|
specification_version: 4
|
150
180
|
summary: Easily deploy any Jekyll or Octopress site using S3, Git, or Rsync.
|
151
181
|
test_files:
|
152
182
|
- test/.gitignore
|
153
183
|
- test/Gemfile
|
154
|
-
- test/
|
155
|
-
- test/
|
184
|
+
- test/_git_deploy_local.yml
|
185
|
+
- test/_rsync_deploy_local.yml
|
186
|
+
- test/garbage.rb
|
156
187
|
- test/source/.hidden
|
157
188
|
- test/source/dir/file
|
158
189
|
- test/source/test_file
|
data/test/_deploy_rsync.yml
DELETED