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: a907afb3787ab25393f794cc4c374a262dcdfc75407da29b13a17f88419baacc
4
- data.tar.gz: 4634770060492765585b26aa9dde6fa8682909cf424f7444fc34f725da8eacda
3
+ metadata.gz: 847be5563eac5f1b7d49c018a662a77d065d31022a1edf22bfeb347526459ada
4
+ data.tar.gz: ca5d1d1635161bd9cf4a5286fb2b42a13886ecd5b65df934f5dec5a560b7902e
5
5
  SHA512:
6
- metadata.gz: 357e60c9bab455204ea5c9d90e18ee4997e8f278a27b123274ede14ff74a9eb4a1fb8d96cd464e9ca4798267db1b19875da492095448199e12aa877715d50d7c
7
- data.tar.gz: 270ad92d1b167194af750f9c0aa2ccc785b3203426bd842cd4af6872844c2af735faefe55306e6d53b6460d6c5fe41ea6be98ee04f46c3a70bef1827141f98bf
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
 
@@ -21,8 +21,6 @@ RUN bundle install --deployment --jobs=4 --without development test
21
21
 
22
22
  RUN yarn install --production
23
23
 
24
- RUN rm -rf node_modules/n2-styles/test/
25
-
26
24
  RUN bundle exec rake assets:precompile
27
25
 
28
26
  RUN sed -i "s/${GITHUB_TOKEN}//" Gemfile.lock
@@ -88,6 +88,7 @@ module Shiplane
88
88
  if File.extname(filepath) == ".erb"
89
89
  copy_erb_file(filepath)
90
90
  else
91
+ FileUtils.mkdir_p File.join(build_directory, File.dirname(filepath))
91
92
  FileUtils.cp filepath, File.join(build_directory, filepath)
92
93
  end
93
94
  end
@@ -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| "--expose #{port} -p #{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,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Shiplane
4
- VERSION = "0.1.11"
4
+ VERSION = "0.1.16"
5
5
  end
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.11
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: 2019-07-14 00:00:00.000000000 Z
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.11
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.11
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.11
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.11
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: '12.0'
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: 12.0.0
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
- rubyforge_project:
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