shiplane 0.1.11 → 0.1.16
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 847be5563eac5f1b7d49c018a662a77d065d31022a1edf22bfeb347526459ada
|
4
|
+
data.tar.gz: ca5d1d1635161bd9cf4a5286fb2b42a13886ecd5b65df934f5dec5a560b7902e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9109eed0795ebb3211b118563c89781f621b2bde7c16c38131c1d0b8f62075f1ed3a55da3a5a23ca584e75b211c237f1de4905b0d5bb0e7a17205e659c3d9b56
|
7
|
+
data.tar.gz: c07ff2c9e6bf6d68f2f983fa8497c2f7128533e34b986eb765d4aa7ea114eada3df65a20ec91d1e27f55c783ed01ad9c6206fc71225ec8a3d341a6a338ead732
|
data/README.md
CHANGED
@@ -73,6 +73,10 @@ You can generate a default version of this file via the following command:
|
|
73
73
|
rake shiplane:install[<application_name>]
|
74
74
|
```
|
75
75
|
|
76
|
+
Reference the example [shiplane.ymls](examples/rails_app/shiplane.yml) for some ideas on how to configure your app.
|
77
|
+
|
78
|
+
> **WARNING**: Make sure to configure your shiplane.yml here. The following commands make use of some or all of those configurations!!
|
79
|
+
|
76
80
|
### Using Shiplane
|
77
81
|
#### Steps involved in provisioning and deploying
|
78
82
|
Currently, Shiplane assumes you have an empty VM/VPS/Metal Box with some form of linux on it (though testing has primarily been done on Ubuntu boxes). Shiplane assumes an otherwise EMPTY install. It is HIGHLY recommended that you NOT use Shiplane (or any other provisioning) on an install with software other than a basic OS installed.
|
@@ -107,6 +111,8 @@ Shiplane provides rake tasks that may be used to build your Docker containers in
|
|
107
111
|
|
108
112
|
It is intended that this be integrated into your CI pipeline and some examples are provided (Currently, we provide an example for Circle CI).
|
109
113
|
|
114
|
+
Configuration for building is provided by the `shiplane.yml` file that has already been mentioned and any files in the `.shiplane` folder. Under this folder, any files under `insert_on_build` will be inserted into you application structure during the build process. e.g. in the [rails_app](examples/rails_app) example, the config folder will be inserted into the docker container during the build process. ERB files can be evaluated by shiplane to provide files with keys or other such things inserted. The `production_dockerfile_stages` file under the `.shiplane` folder utilizes docker's multistage building technique to take your local dockerfile and append new stages that give you the chance to perform any pre-production stages you might need. See the [example](examples/rails_app/.shiplane/production_dockerfile_stages) for a sample of what you might do yourself.
|
115
|
+
|
110
116
|
You can build a docker container based on the HEAD of your current branch like so:
|
111
117
|
```sh
|
112
118
|
bundle exec cap production shiplane
|
@@ -118,6 +124,7 @@ Shiplane provides tasks to help you deploy your code. These tasks depend on your
|
|
118
124
|
Currently, the following Deployers are provided:
|
119
125
|
- shiplane_deployers_capistrano_docker `# Uses Capistrano and Raw Docker to run your containers`
|
120
126
|
|
127
|
+
The Capistrano deployer uses Capistrano's configuration. You can see an example of how this works under the [examples folder](examples/rails_app/config/deploy.rb)
|
121
128
|
|
122
129
|
You can run a deployment like so:
|
123
130
|
```sh
|
@@ -130,7 +137,7 @@ This is as much a reminder to me as anyone else. If a new version of the gem has
|
|
130
137
|
bundle install --full-index
|
131
138
|
```
|
132
139
|
|
133
|
-
##### `Could not load database configuration. No such file - ["config/database.yml"]`
|
140
|
+
##### [Rails Application] `Could not load database configuration. No such file - ["config/database.yml"]`
|
134
141
|
If you are receiving similar messages during the build process, this likely means that you are running a task during the build (e.g. asset precompilation) that is loading up the Rails initializers and have an initializer that tries to connect to the database. You can fix this by finding which of your initializers is being called. See this snippet here from an app that shows where you would find the offending initializer:
|
135
142
|
```
|
136
143
|
/var/www/surveyor/vendor/bundle/ruby/2.6.0/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:23:in `require'
|
@@ -155,17 +162,18 @@ Shiplane::SafeBuild.wrap do
|
|
155
162
|
belongs_to :true_owner, polymorphic: true
|
156
163
|
end
|
157
164
|
end
|
158
|
-
|
159
165
|
```
|
160
166
|
|
161
167
|
## Becoming Involved
|
162
168
|
### Community Channels
|
163
|
-
You can join our [Discord community](https://discord.gg/drrn2YG) to ask any questions you might have or to get ahold of someone in the community who might be able to help you. There is no guarantee of service implied, but we absolutely believe in helping out our fellow developers and will do so as we are able. If you feel you know some stuff about Shiplane, feel free to hang out and please help out as well!
|
169
|
+
You can join our [Discord community](https://discord.gg/drrn2YG) to ask any questions you might have or to get ahold of someone in the community who might be able to help you (I hang out here just about every day of the week and most of the weekend). There is no guarantee of service implied, but we absolutely believe in helping out our fellow developers and will do so as we are able. If you feel you know some stuff about Shiplane, feel free to hang out and please help out as well!
|
164
170
|
|
165
171
|
### Contributing
|
166
172
|
|
167
173
|
We highly encourage you to contribute to Shiplane! Check out the [Contribution Guidelines](CONTRIBUTING.md) and help make Shiplane better!
|
168
174
|
|
175
|
+
Everyone interacting in Shiplane's codebase, issue trackers, and chatroom is expected to follow the [Code of Conduct](CODE_OF_CONDUCT.md)
|
176
|
+
|
169
177
|
### Security Concerns
|
170
178
|
If you have a security concern with Shiplane, please follow our Security Policy guidelines to submit the issue to us.
|
171
179
|
|
@@ -17,8 +17,6 @@ module Shiplane
|
|
17
17
|
|
18
18
|
def exposed_ports
|
19
19
|
@exposed_ports ||= [options.fetch(:expose, [])].flatten - published_ports
|
20
|
-
rescue => e
|
21
|
-
binding.pry
|
22
20
|
end
|
23
21
|
|
24
22
|
def environment
|
@@ -83,7 +81,7 @@ module Shiplane
|
|
83
81
|
docker_command(role),
|
84
82
|
"run -d",
|
85
83
|
volumes.map{|volume_set| "-v #{volume_set}" },
|
86
|
-
published_ports.map{|port| "
|
84
|
+
published_ports.map{|port| "-p #{port}" },
|
87
85
|
exposed_ports.map{|port| "--expose #{port}" },
|
88
86
|
"--name #{unique_container_name}",
|
89
87
|
virtual_host ? "-e VIRTUAL_HOST=#{virtual_host}" : nil,
|
data/lib/shiplane/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shiplane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Epperson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shiplane_bootstrappers_chef
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.16
|
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
|
-
version: 0.1.
|
26
|
+
version: 0.1.16
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: shiplane_deployers_capistrano_docker
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.
|
33
|
+
version: 0.1.16
|
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
|
-
version: 0.1.
|
40
|
+
version: 0.1.16
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: dotenv
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,42 +62,62 @@ dependencies:
|
|
62
62
|
name: facets
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '3.1'
|
68
65
|
- - ">="
|
69
66
|
- !ruby/object:Gem::Version
|
70
67
|
version: 3.1.0
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '3.1'
|
71
71
|
type: :runtime
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '3.1'
|
78
75
|
- - ">="
|
79
76
|
- !ruby/object:Gem::Version
|
80
77
|
version: 3.1.0
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '3.1'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rake
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
|
-
- - "~>"
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: '12.0'
|
88
85
|
- - ">="
|
89
86
|
- !ruby/object:Gem::Version
|
90
87
|
version: 12.0.0
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '13.0'
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 12.0.0
|
95
98
|
- - "~>"
|
96
99
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
100
|
+
version: '13.0'
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: gem-release
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
98
105
|
- - ">="
|
99
106
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
107
|
+
version: 2.0.4
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.2.1
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.0.4
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 2.2.1
|
101
121
|
description: Converts docker-compose.yml files into images that can be uploaded to
|
102
122
|
any docker image repository.
|
103
123
|
email:
|
@@ -151,8 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
171
|
- !ruby/object:Gem::Version
|
152
172
|
version: '0'
|
153
173
|
requirements: []
|
154
|
-
|
155
|
-
rubygems_version: 2.7.7
|
174
|
+
rubygems_version: 3.0.3
|
156
175
|
signing_key:
|
157
176
|
specification_version: 4
|
158
177
|
summary: A toolbox for converting developer docker-compose files into production-ready
|