theme-juice 0.18.4 → 0.18.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -6
- data/lib/theme-juice/man/tj +2 -2
- data/lib/theme-juice/man/tj-create +2 -2
- data/lib/theme-juice/man/tj-delete +2 -2
- data/lib/theme-juice/man/tj-deploy +5 -2
- data/lib/theme-juice/man/tj-deploy.txt +17 -13
- data/lib/theme-juice/man/tj-setup +3 -3
- data/lib/theme-juice/man/tj-setup.txt +1 -1
- data/lib/theme-juice/version.rb +1 -1
- metadata +25 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce260a5474824765f0e6277ad73ea3a9db42aa2b
|
4
|
+
data.tar.gz: 8fc2f348498435f68f4731e2fc3af128c229cedf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cae1fde7249d2dca577566a1b69111e2783892fa0d5ad402371dfd28351d4446efd76dfce70e52977108cb83d47d30ce4f39d84fd358d738d98742af4e1422e
|
7
|
+
data.tar.gz: 83e79fdedf0ecb100f6bfa78acec5436b183e3edd5c537ae452abb61c54d7085a349917bbcfa620b0f81b4163695c10dcfa67046e42537c398f7714c19796dac
|
data/README.md
CHANGED
@@ -8,12 +8,30 @@
|
|
8
8
|
![Theme Juice CLI](demo.gif)
|
9
9
|
|
10
10
|
## What is it?
|
11
|
-
[Theme Juice CLI](http://themejuice.it)
|
11
|
+
The [Theme Juice CLI](http://themejuice.it), also known as `tj`, helps you create new local WordPress development sites, manage existing sites, and deploy them, all from the command line. It utilizes an [Apache fork](https://github.com/ezekg/theme-juice-vvv) of [VVV](https://github.com/Varying-Vagrant-Vagrants/VVV) for the virtual machine to spin up new development sites in seconds.
|
12
12
|
|
13
13
|
Check out [our getting started guide over at SitePoint](http://www.sitepoint.com/introducing-theme-juice-for-local-wordpress-development/), or [view the documentation site](http://themejuice.it).
|
14
14
|
|
15
|
+
## What problems does `tj` help solve?
|
16
|
+
To get the most out of `tj`, it is recommended that you use our [starter template](https://github.com/ezekg/theme-juice-starter). Why? Keep on reading and we'll tell you. `tj` is built on top of tried and true open source libraries such as [Capistrano](http://capistranorb.com/) for deployments, [Vagrant](https://www.vagrantup.com/) for local development, and even a little bit of [WP-CLI](http://wp-cli.org) for database migration. Some of the main pain points `tj` helps solve are:
|
17
|
+
|
18
|
+
### 1. Local development
|
19
|
+
Say goodbye to MAMP! With one command, `tj create`, you can have a new local development site up and running in under a minute. It uses a streamlined fork of VVV (listed above) to create a Vagrant development environment, and lets you create and manage multiple projects within a single virtual machine. It also handles deployments over SSH using Capistrano if you want to move away from FTP (more about that below).
|
20
|
+
|
21
|
+
### 2. Multi-environment projects
|
22
|
+
Oh, multi-environment development! Usually, you would have to ignore your entire `wp-config.php` file and create one for every single stage. These can get out of sync fast. Even worse, the config file actually gets checked into the project repo and so the credentials fluctuate from `dev` to `staging` to `production`. Not good. Not good at all.
|
23
|
+
|
24
|
+
Our [starter template](https://github.com/ezekg/theme-juice-starter) uses a `.env` file, and has support for an unlimited number of environments (we generally do `development`, `staging` and `production`). Since these settings are housed in a `.env` file, they are not checked into the repo. That means the codebase is 100% environment agnostic. [The way it should be.](http://12factor.net/)
|
25
|
+
|
26
|
+
### 3. Multi-environment deployments
|
27
|
+
Really. Want to deploy to staging? Set up a staging environment inside of the [`Juicefile`](https://github.com/ezekg/theme-juice-starter/blob/master/Juicefile?ts=2), make sure you can SSH in without a password (remember, best practices here!) and run `tj deploy staging`. Boom, you're done. Make a mistake? Run `tj rollback staging`. Crisis averted!
|
28
|
+
|
29
|
+
Want to pull the database from your production server to your development install? Run `tj remote production db:pull` and you're good to go; `tj` will automatically handle rewriting any URLs within the database.
|
30
|
+
|
31
|
+
How about pushing your development database and your local uploads folder? Run `tj remote production db:push && tj remote production uploads:push` and you're done. [You can even send notifications to your teams Slack channel if you want to!](https://github.com/ezekg/theme-juice-cli#can-i-integrate-my-deployments-with-slack)
|
32
|
+
|
15
33
|
## Requirements
|
16
|
-
**`tj` requires [Vagrant](https://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) to be able to create virtual machines for local development. Please download and install both of these before getting started.**
|
34
|
+
**`tj` requires [Vagrant](https://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) to be able to create virtual machines for local development. Please download and install both of these before getting started.** If you plan on using `tj` for deployments, you should also ensure that your `remote` servers have [WP-CLI](http://wp-cli.org/") installed in order for `tj` to be able to handle database migration.
|
17
35
|
|
18
36
|
I recommend one of the latest versions of Ruby MRI (2.2, 2.1, 2.0). `tj` requires at least MRI 1.9.3. For the full report, check out the [Travis CI build status](https://travis-ci.org/ezekg/theme-juice-cli), where I test against an array of Ruby interpreters.
|
19
37
|
|
@@ -46,7 +64,7 @@ tj create
|
|
46
64
|
#### What happens on your first `create`?
|
47
65
|
1. `tj` will execute `tj init` if the VM is uninitialized
|
48
66
|
1. `tj` will clone the selected starter template
|
49
|
-
1. `tj` will run the starter template's Juicefile
|
67
|
+
1. `tj` will run the starter template's Juicefile `install` command
|
50
68
|
1. `tj` will create all of the necessary project files, such as:
|
51
69
|
* `Customfile` containing DNS and synced folder settings
|
52
70
|
* `init-custom.sql` containing database setup
|
@@ -169,11 +187,11 @@ Below is the config that comes baked into [our starter template](https://github.
|
|
169
187
|
|
170
188
|
```yml
|
171
189
|
#
|
172
|
-
# Manage command aliases for the current
|
190
|
+
# Manage command aliases for the current project
|
173
191
|
#
|
174
192
|
commands:
|
175
193
|
|
176
|
-
# Run
|
194
|
+
# Run project install scripts
|
177
195
|
install:
|
178
196
|
- composer install
|
179
197
|
- bundle install
|
@@ -202,7 +220,7 @@ commands:
|
|
202
220
|
- mkdir -p backup
|
203
221
|
- wp ssh --host=vagrant db export backup/$(date +'%Y-%m-%d-%H-%M-%S').sql
|
204
222
|
|
205
|
-
# Package up entire
|
223
|
+
# Package up entire project into a gzipped tar file
|
206
224
|
dist:
|
207
225
|
- tar -zcvf dist.tar.gz .
|
208
226
|
```
|
data/lib/theme-juice/man/tj
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
.\" generated with Ronn/v0.7.
|
2
|
-
.\" http://github.com/rtomayko/ronn/tree/0.7.
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
4
|
.TH "TJ\-DEPLOY" "1" "December 2015" "" "Theme Juice Manual"
|
5
5
|
.
|
@@ -12,6 +12,9 @@
|
|
12
12
|
.SH "DESCRIPTION"
|
13
13
|
Deploys a project to the passed \fBstage\fR\. All commands are transformed and then piped directly to capistrano(1) to handle deployment\.
|
14
14
|
.
|
15
|
+
.SH "REQUIREMENTS"
|
16
|
+
The \fBremote\fR that is being deployed to needs to have wp\-cli(1) installed in order for tj(1) to be able to handle database migration\.
|
17
|
+
.
|
15
18
|
.SH "SETUP"
|
16
19
|
Follow these steps to quickly get up and running:
|
17
20
|
.
|
@@ -12,6 +12,10 @@ DESCRIPTION
|
|
12
12
|
Deploys a project to the passed stage. All commands are transformed and
|
13
13
|
then piped directly to capistrano(1) to handle deployment.
|
14
14
|
|
15
|
+
REQUIREMENTS
|
16
|
+
The remote that is being deployed to needs to have wp-cli(1) installed
|
17
|
+
in order for tj(1) to be able to handle database migration.
|
18
|
+
|
15
19
|
SETUP
|
16
20
|
Follow these steps to quickly get up and running:
|
17
21
|
|
@@ -40,7 +44,7 @@ PRIMARY COMMANDS
|
|
40
44
|
Rollback a previous deployment
|
41
45
|
|
42
46
|
setup, check
|
43
|
-
Run
|
47
|
+
Run a preliminary deployment check, making sure that all neces-
|
44
48
|
sary folders are created and accessible on the passed stage
|
45
49
|
|
46
50
|
SECONDARY COMMANDS
|
@@ -49,7 +53,7 @@ SECONDARY COMMANDS
|
|
49
53
|
the deployment.stages.vagrant.backup directory
|
50
54
|
|
51
55
|
db:pull
|
52
|
-
Pull
|
56
|
+
Pull the database from the passed stage and import it into the
|
53
57
|
development environment
|
54
58
|
|
55
59
|
db:push
|
@@ -57,7 +61,7 @@ SECONDARY COMMANDS
|
|
57
61
|
into the passed stage
|
58
62
|
|
59
63
|
env:pull
|
60
|
-
Pull
|
64
|
+
Pull the current .env.<stage> file from the passed stage to the
|
61
65
|
development environment
|
62
66
|
|
63
67
|
env:push
|
@@ -69,19 +73,19 @@ SECONDARY COMMANDS
|
|
69
73
|
the development environment
|
70
74
|
|
71
75
|
uploads:push
|
72
|
-
Push
|
76
|
+
Push the uploads folder from the development environment to the
|
73
77
|
passed stage's uploads folder
|
74
78
|
|
75
79
|
file:pull=path
|
76
|
-
Pull
|
80
|
+
Pull a relative file from the passed stage to the development
|
77
81
|
environment.
|
78
82
|
|
79
83
|
file:push=path
|
80
|
-
Push
|
84
|
+
Push a relative file from the development environment to the
|
81
85
|
passed stage.
|
82
86
|
|
83
87
|
dir:pull=path
|
84
|
-
Recursively
|
88
|
+
Recursively pull a relative directory from the passed stage to
|
85
89
|
the development environment.
|
86
90
|
|
87
91
|
dir:push=path
|
@@ -89,9 +93,9 @@ SECONDARY COMMANDS
|
|
89
93
|
ronment to the passed stage.
|
90
94
|
|
91
95
|
CONFIG FILE
|
92
|
-
The
|
93
|
-
ment-related
|
94
|
-
you
|
96
|
+
The YAML Juicefile(5) configuration may be used to store deploy-
|
97
|
+
ment-related settings. Below you will find the various block sequences
|
98
|
+
you may use to define your project's deployment settings. All of these
|
95
99
|
will be passed to capistrano(1) to invoke a deployment.
|
96
100
|
|
97
101
|
deployment
|
@@ -111,7 +115,7 @@ CONFIG FILE
|
|
111
115
|
rsync_<setting> during the deployment initialization
|
112
116
|
|
113
117
|
deployment.slack
|
114
|
-
Optional
|
118
|
+
Optional settings passed to capistrano-slackify(1); mapped as
|
115
119
|
slack_<setting> during the deployment initialization
|
116
120
|
|
117
121
|
deployment.stages
|
@@ -137,14 +141,14 @@ CONFIG FILE
|
|
137
141
|
|
138
142
|
deployment.stages.<stage>.shared
|
139
143
|
Sequence of relative files from application root to place inside
|
140
|
-
of
|
144
|
+
of the shared folder. Files that end with a trailing forward
|
141
145
|
slash are assumed to be a directory.
|
142
146
|
|
143
147
|
deployment.stages.<stage>.roles
|
144
148
|
Sequence of deployment roles for the stage
|
145
149
|
|
146
150
|
deployment.stages.vagrant
|
147
|
-
Required
|
151
|
+
Required development environment settings; these are used for
|
148
152
|
database and file migration
|
149
153
|
|
150
154
|
deployment.stages.vagrant.server
|
@@ -1,7 +1,7 @@
|
|
1
|
-
.\" generated with Ronn/v0.7.
|
2
|
-
.\" http://github.com/rtomayko/ronn/tree/0.7.
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "TJ\-SETUP" "1" "
|
4
|
+
.TH "TJ\-SETUP" "1" "November 2015" "" "Theme Juice Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBtj\-setup\fR \- Setup an existing project
|
data/lib/theme-juice/version.rb
CHANGED
metadata
CHANGED
@@ -1,143 +1,143 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: theme-juice
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.18.
|
4
|
+
version: 0.18.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ezekiel Gabrielse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.19.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.19.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faker
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.4.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.4.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: os
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.9.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.9.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: capistrano
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.4.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.4.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: net-ssh
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 2.9.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 2.9.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: capistrano-slackify
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 2.6.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 2.6.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: capistrano-rsync-bladrak
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 1.3.2
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 1.3.2
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: bundler
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '1.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ~>
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '1.0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rake
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ~>
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '10.4'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - ~>
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '10.4'
|
139
|
-
description: tj
|
140
|
-
|
139
|
+
description: tj helps you create new local WordPress development sites, manage existing
|
140
|
+
sites, and deploy them, all from the command line.
|
141
141
|
email:
|
142
142
|
- ezekg@yahoo.com
|
143
143
|
executables:
|
@@ -221,17 +221,17 @@ require_paths:
|
|
221
221
|
- lib
|
222
222
|
required_ruby_version: !ruby/object:Gem::Requirement
|
223
223
|
requirements:
|
224
|
-
- -
|
224
|
+
- - '>='
|
225
225
|
- !ruby/object:Gem::Version
|
226
226
|
version: 1.9.3
|
227
227
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
228
228
|
requirements:
|
229
|
-
- -
|
229
|
+
- - '>='
|
230
230
|
- !ruby/object:Gem::Version
|
231
231
|
version: '0'
|
232
232
|
requirements: []
|
233
233
|
rubyforge_project:
|
234
|
-
rubygems_version: 2.
|
234
|
+
rubygems_version: 2.4.6
|
235
235
|
signing_key:
|
236
236
|
specification_version: 4
|
237
237
|
summary: WordPress development made easy
|