lucy_dockerunner 0.1.6 → 0.1.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed51fadc53b795aa23350c7ce49b87d25234cee22ed9a65d310815077f5b8972
4
- data.tar.gz: ca61bacb4fc54f6432ddb5bca8167343881410ac2ae4eb7198c824dd91c5d20d
3
+ metadata.gz: e3a36c58434b995bf29542f0db7573c35b54c152a134eb4d36098e6ba86ca3a6
4
+ data.tar.gz: 10d72d8711a338fe1c71711de7bbfca41979c8787a243d916f2fcfe351198502
5
5
  SHA512:
6
- metadata.gz: 8a4f5083d80a651b373d23cac7edead9f248defe9a2590c8653ed3f9bfc63094ed8dc8ba6d12f6bf1c107bd816442398bcf18b88164fe96657377cbdf03a9e6e
7
- data.tar.gz: c9be619deded43389003507a4c2893cb602be2fd35511c2c6873c00ca36a6d9f20c4d24ec05b630f1104d3544b653f3805d3a7d36b0f54c96469cc5b922fedd3
6
+ metadata.gz: '08efb3fa738f8664743422d43833e638cda59446854388789a012c3b5203c86b0a3bd370426122c9b3f7299d44f16fa088c3171907b3303169417268b8f867db'
7
+ data.tar.gz: c12c37d2031dbaf034c649e18f30ccec090a4aeafdd93b6185498e93976c5ea61c0fba5d38653fac9618371332b4897b238dabf14d42dc8bd92412639a39874e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lucy_dockerunner (0.1.6)
4
+ lucy_dockerunner (0.1.8)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # LucyDockerunner
1
+ # Lucy Dockerunner
2
2
 
3
3
  Lucy Dockerunner is a Ruby gem that provides a simple wrapper around the Docker Compose CLI to make it easier to run Docker Compose commands from Ruby On Rails projects.
4
4
 
@@ -8,8 +8,36 @@ Lucy Dockerunner is a Ruby gem that provides a simple wrapper around the Docker
8
8
 
9
9
  Ruby version: >= 2.6.0
10
10
 
11
- This gem version: 0.1.4
11
+ This gem version: 0.1.7
12
12
 
13
+ ## Dependencies
14
+
15
+ * [Docker](https://www.docker.com/)
16
+ * [Docker Compose](https://docs.docker.com/compose/)
17
+ * [Ruby On Rails](https://rubyonrails.org/) - or any other Ruby project that uses Docker Compose to run the project with specific services.
18
+
19
+ ## Files
20
+ This gem uses the following files to run the docker compose services:
21
+
22
+ - Dockerfile
23
+ - docker-compose.yml - development
24
+ - docker-compose.prod.yml - production
25
+
26
+ It's important to have .env files separated by environment, for example:
27
+ - .env.development
28
+ - .env.production
29
+
30
+ And remember to add the .env files to the .gitignore file and reference them in the docker-compose.yml and docker-compose.prod.yml files.
31
+
32
+ ## Services
33
+ This gem requires the following services names to be included in the docker-compose.yml and docker-compose.prod.yml files:
34
+ <!-- db - redis - web - sidekiq -->
35
+ * db
36
+ * redis
37
+ * web
38
+ * sidekiq
39
+
40
+ ##### more services will be added in the future, for example: mailcatcher, elasticsearch, webpack, etc.
13
41
  ## Installation
14
42
 
15
43
  You can install the gem by executing:
@@ -29,7 +57,7 @@ require 'lucy_dockerunner'
29
57
  LucyDockerunner.load_tasks
30
58
  ````
31
59
 
32
- ###### Docker actions
60
+ ## Docker actions
33
61
  * `rake compose:install` - build docker compose and migrate the database
34
62
  * `rake compose:build` - build docker compose services
35
63
  * `rake compose:up` - start the docker compose services
@@ -45,7 +73,26 @@ LucyDockerunner.load_tasks
45
73
  * `rake compose:clean_volumes` - clean all docker compose volumes
46
74
  * `rake compose:clean_orphans` - clean all docker compose orphans
47
75
  * `rake compose:clean_containers` - clean all docker compose containers
48
- #### Database actions
76
+
77
+ ## Docker Production actions
78
+
79
+ * `rake compose_prod:install` - build docker compose and migrate the database
80
+ * `rake compose_prod:build` - build docker compose services
81
+ * `rake compose_prod:up` - start the docker compose services
82
+ * `rake compose_prod:down` - stop the docker compose services
83
+ * `rake compose_prod:status` - show the status of the docker compose services
84
+ * `rake compose_prod:shell` - open a shell in the web service
85
+ * `rake compose_prod:db_detach` - detach the database from the docker compose services
86
+ * `rake compose_prod:redis_detach` - detach the redis from the docker compose services
87
+ * `rake compose_prod:back_detach` - detach the backend(redis, sidekiq, db) from the docker compose services
88
+ * `rake compose_prod:restart` - restart the docker compose services
89
+ * `rake compose_prod:clean_all` - clean all docker compose services
90
+ * `rake compose_prod:clean_images` - clean all docker compose images
91
+ * `rake compose_prod:clean_volumes` - clean all docker compose volumes
92
+ * `rake compose_prod:clean_orphans` - clean all docker compose orphans
93
+ * `rake compose_prod:clean_containers` - clean all docker compose containers
94
+
95
+ ## Database actions
49
96
  * `rake compose_db:migrate` - migrate the database
50
97
  * `rake compose_db:reset` - reset the database
51
98
  * `rake compose_db:drop` - drop the database
@@ -57,7 +104,7 @@ LucyDockerunner.load_tasks
57
104
  * `rake compose_db:reset_setup` - drop and setup the database
58
105
  * `rake compose_db:reset` - reset the database
59
106
 
60
- ### Tests actions
107
+ ## Tests actions
61
108
  * `rake compose_test:all` - run all tests
62
109
  * `rake compose_test:clean_all` - run all tests after cleaning docker compose services
63
110
  * `rake compose_test:controllers` - run controllers tests
@@ -68,7 +115,7 @@ LucyDockerunner.load_tasks
68
115
  * `rake compose_test:routing` - run routing tests
69
116
  * `rake compose_test:views` - run views tests
70
117
 
71
- ### LOGS actions
118
+ ## LOGS actions
72
119
  * `rake compose_logs:web` - show web logs
73
120
  * `rake compose_logs:db` - show db logs
74
121
  * `rake compose_logs:redis` - show redis logs
@@ -80,24 +127,33 @@ LucyDockerunner.load_tasks
80
127
  * `rake compose_logs:tail_sidekiq` - tail sidekiq logs
81
128
  * `rake compose_logs:tail_all` - tail all logs
82
129
 
130
+ ## Assets actions
131
+ * `rake compose_assets:precompile` - precompile assets
132
+ * `rake compose_assets:clean` - clean assets
133
+ * `rake compose_assets:clobber` - clobber assets
134
+
135
+
83
136
  ## Start the docker compose services
84
137
  ````bash
85
138
  $ rake compose:up
86
139
  ````
87
- ### Access the web service
88
- http://localhost
89
-
90
-
91
- ## References
92
- The code code inside the 'lib/rake/lucyd_hooks.rb' file is based on the code of the [rake-hooks](https://github.com/guillermo/rake-hooks) from Guillermo Iguaran, Joel Moss as described in the [Ruby Toolbox](https://www.ruby-toolbox.com/projects/rake-hooks) page.
93
140
  ## Contributing
94
141
 
95
142
  Bug reports and pull requests are welcome on GitHub at https://github.com/JesusGautamah/lucy_dockerunner. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/JesusGautamah/lucy_dockerunner/blob/master/CODE_OF_CONDUCT.md).
96
143
 
144
+
145
+ ## [![Repography logo](https://images.repography.com/logo.svg)](https://repography.com) / Recent activity [![Time period](https://images.repography.com/33522702/JesusGautamah/lucy_dockerunner/recent-activity/7YfytFwl78FgWgAtJeO7jReo0y6GD6YPifcYNBxOxaE/yhI9H3pCZlEkfuvJLU9LC32UBu1c8k5toFvgUDmttdM_badge.svg)](https://repography.com)
146
+ [![Timeline graph](https://images.repography.com/33522702/JesusGautamah/lucy_dockerunner/recent-activity/7YfytFwl78FgWgAtJeO7jReo0y6GD6YPifcYNBxOxaE/yhI9H3pCZlEkfuvJLU9LC32UBu1c8k5toFvgUDmttdM_timeline.svg)](https://github.com/JesusGautamah/lucy_dockerunner/commits)
147
+ [![Issue status graph](https://images.repography.com/33522702/JesusGautamah/lucy_dockerunner/recent-activity/7YfytFwl78FgWgAtJeO7jReo0y6GD6YPifcYNBxOxaE/yhI9H3pCZlEkfuvJLU9LC32UBu1c8k5toFvgUDmttdM_issues.svg)](https://github.com/JesusGautamah/lucy_dockerunner/issues)
148
+ [![Pull request status graph](https://images.repography.com/33522702/JesusGautamah/lucy_dockerunner/recent-activity/7YfytFwl78FgWgAtJeO7jReo0y6GD6YPifcYNBxOxaE/yhI9H3pCZlEkfuvJLU9LC32UBu1c8k5toFvgUDmttdM_prs.svg)](https://github.com/JesusGautamah/lucy_dockerunner/pulls)
149
+ [![Top contributors](https://images.repography.com/33522702/JesusGautamah/lucy_dockerunner/recent-activity/7YfytFwl78FgWgAtJeO7jReo0y6GD6YPifcYNBxOxaE/yhI9H3pCZlEkfuvJLU9LC32UBu1c8k5toFvgUDmttdM_users.svg)](https://github.com/JesusGautamah/lucy_dockerunner/graphs/contributors)
150
+
151
+
152
+
97
153
  ## License
98
154
 
99
155
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
100
156
 
101
157
  ## Code of Conduct
102
158
 
103
- Everyone interacting in the LucyDockerunner project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/JesusGautamah/lucy_dockerunner/blob/master/CODE_OF_CONDUCT.md).
159
+ Everyone interacting in the LucyDockerunner project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/JesusGautamah/lucy_dockerunner/blob/master/CODE_OF_CONDUCT.md).
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LucyDockerunner
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.8"
5
5
  end
@@ -2,11 +2,9 @@
2
2
 
3
3
  require "rake"
4
4
  require_relative "task_helpers/compose_taskhelper"
5
- require_relative "../rake/lucyd_hooks"
6
5
 
7
6
  def tasks_names
8
- @tasks_names = %w[install build up down restart clean_all clean_volumes clean_orphans clean_images clean_networks
9
- clean_stopped]
7
+ @tasks_names = %w[install build up down restart clean_all clean_volumes clean_orphans clean_images]
10
8
  end
11
9
 
12
10
  def namesp
@@ -187,10 +185,10 @@ end
187
185
 
188
186
  tasks_names.each do |task|
189
187
  before_action = "#{namesp}:#{task}"
190
- bef before_action do
188
+ Rake::Task[before_action].enhance do
191
189
  docker_abort_error = "Dockerfile not found.\nYou must have a Dockerfile file."
192
- compose_abort_error = "Compose file not found.\nFor development, you must have a #{dev_compose_file} file."
193
- dockerfile_checker ? abort(docker_abort_error) : puts("Dockerfile found.")
194
- compose_checker ? abort(compose_abort_error) : puts("Compose file found.")
190
+ compose_abort_error = "Compose file not found.\nYou must have a docker-compose.prod.yml file."
191
+ dockerfile_checker ? abort(docker_abort_error) : puts("Dockerfile found")
192
+ compose_checker ? abort(compose_abort_error) : puts("Compose Production file found")
195
193
  end
196
194
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "rake"
4
4
  require_relative "task_helpers/compose_taskhelper"
5
- require_relative "../rake/lucyd_hooks"
6
5
 
7
6
  def task_helper
8
7
  @task_helper ||= TaskHelpers::ComposeTaskhelper.new
@@ -4,8 +4,7 @@ require "rake"
4
4
  require_relative "task_helpers/compose_taskhelper"
5
5
 
6
6
  def tasks_names
7
- @tasks_names = %w[install build up down restart clean_all clean_volumes clean_orphans clean_images clean_networks
8
- clean_stopped]
7
+ @tasks_names = %w[install build up down restart clean_all clean_volumes clean_orphans clean_images]
9
8
  end
10
9
 
11
10
  def namesp
@@ -242,10 +241,11 @@ end
242
241
 
243
242
  tasks_names.each do |task|
244
243
  before_action = "#{namesp}:#{task}"
245
- bef before_action do
244
+ Rake::Task[before_action].enhance do
246
245
  docker_abort_error = "Dockerfile not found.\nYou must have a Dockerfile file."
247
246
  compose_abort_error = "Compose file not found.\nYou must have a docker-compose.prod.yml file."
248
247
  dockerfile_checker ? abort(docker_abort_error) : puts("Dockerfile found")
249
248
  compose_checker ? abort(compose_abort_error) : puts("Compose Production file found")
250
249
  end
251
250
  end
251
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lucy_dockerunner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - JesusGautamah
@@ -12,8 +12,7 @@ date: 2023-02-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |-
14
14
  This gem is a tool to run docker containers with rake commands, good for CI/CD and Rails projects.
15
- It's a wrapper for docker-compose commands and original code was developed
16
- by me in the project https://github.com/JesusGautamah/outerspace-blockchain
15
+ Docs: https://github.com/JesusGautamah/lucy_dockerunner
17
16
  email:
18
17
  - lima.jesuscc@gmail.com
19
18
  executables: []
@@ -32,7 +31,6 @@ files:
32
31
  - Rakefile
33
32
  - lib/lucy_dockerunner.rb
34
33
  - lib/lucy_dockerunner/version.rb
35
- - lib/rake/lucyd_hooks.rb
36
34
  - lib/tasks/.keep
37
35
  - lib/tasks/compose.rake
38
36
  - lib/tasks/compose_assets.rake
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # from https://github.com/guillermo/rake-hooks, authors Guillermo Iguaran, Joel Moss
4
- module Rake
5
- # module Rake::Hooks
6
- module LucydHooks
7
- def bef(*task_names, &new_task)
8
- task_names.each do |task_name|
9
- old_task = Rake.application.instance_variable_get("@tasks").delete(task_name.to_s)
10
- next unless old_task
11
-
12
- desc old_task.full_comment if old_task.respond_to?(:full_comment)
13
- task task_name => old_task.prerequisites do
14
- new_task.call
15
- old_task.invoke
16
- end
17
- end
18
- end
19
- end
20
-
21
- Rake::DSL.include Rake::LucydHooks if defined?(Rake::DSL)
22
- include Rake::LucydHooks unless self.class.included_modules.include?(Rake::LucydHooks)
23
- end