odania-static-pages 0.1.2 → 0.1.3
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/lib/odania_static_pages.rb +1 -0
- data/lib/odania_static_pages/config.rb +4 -0
- data/lib/odania_static_pages/config/generator/jekyll.rb +1 -1
- data/lib/odania_static_pages/deploy/docker_compose.rb +3 -30
- data/lib/odania_static_pages/deploy/rsync.rb +7 -0
- data/lib/odania_static_pages/helper/nginx.rb +31 -0
- data/lib/odania_static_pages/version.rb +1 -1
- data/templates/docker-compose/docker-compose.yml.erb +1 -1
- data/templates/live/Dockerfile +6 -0
- data/templates/nginx/index.html.erb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0baa2c52d548e23641889addb9bad4f553a9b96d
|
4
|
+
data.tar.gz: ddab7c74d9821064703a8aba1be792eae86687a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b42ea397e077f6bc548e8d4f5f357551619a58f9b004f3c6c93863b3d7594dd61e0b4d1bbfc68cbe18fa00fa54a271bf86703455a61b6be6a2b228b4fd1b4c83
|
7
|
+
data.tar.gz: bedf3a45c11f951e934d16affb548f0b0a9272e2e27ec83354c045ff1f0ab669cd7f1c4bb685dc767e402efbfc911fea22f861249335c71979d67e0968a48581
|
data/lib/odania_static_pages.rb
CHANGED
@@ -13,6 +13,7 @@ require_relative 'odania_static_pages/deploy/docker_compose'
|
|
13
13
|
require_relative 'odania_static_pages/deploy/rsync'
|
14
14
|
require_relative 'odania_static_pages/deploy/s3'
|
15
15
|
require_relative 'odania_static_pages/generator/jekyll'
|
16
|
+
require_relative 'odania_static_pages/helper/nginx'
|
16
17
|
require_relative 'odania_static_pages/server/nginx'
|
17
18
|
require_relative 'odania_static_pages/version'
|
18
19
|
|
@@ -63,6 +63,10 @@ module OdaniaStaticPages
|
|
63
63
|
File.join @project_dir, 'pages'
|
64
64
|
end
|
65
65
|
|
66
|
+
def output_nginx_conf_d_path
|
67
|
+
File.join @output_nginx_path, 'conf.d'
|
68
|
+
end
|
69
|
+
|
66
70
|
def current_environment
|
67
71
|
if @environments[@environment].nil?
|
68
72
|
puts "Environment #{environment} no found!"
|
@@ -50,7 +50,7 @@ module OdaniaStaticPages
|
|
50
50
|
|
51
51
|
puts ' -> Linking Gemfile*'
|
52
52
|
dot_bundle_folder = File.join(full_common_folder, '.bundle')
|
53
|
-
FileUtils.ln_s
|
53
|
+
FileUtils.ln_s(dot_bundle_folder, page_path, force: true) if File.exist? dot_bundle_folder
|
54
54
|
FileUtils.ln_s File.join(full_common_folder, 'Gemfile'), File.join(page_path, 'Gemfile'), force: true
|
55
55
|
FileUtils.ln_s File.join(full_common_folder, 'Gemfile.lock'), File.join(page_path, 'Gemfile.lock'), force: true
|
56
56
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module OdaniaStaticPages
|
2
2
|
module Deploy
|
3
3
|
class DockerCompose
|
4
|
+
include NginxHelper
|
5
|
+
|
4
6
|
def initialize
|
5
7
|
@config = OdaniaStaticPages.config
|
6
8
|
@environment = @config.current_environment
|
@@ -28,7 +30,7 @@ module OdaniaStaticPages
|
|
28
30
|
puts " -> Deploying to color: #{new_color} [Path: #{@site_path}]"
|
29
31
|
|
30
32
|
generate_compose_config
|
31
|
-
generate_nginx_config(do_rebuild)
|
33
|
+
NginxHelper.generate_nginx_config(do_rebuild)
|
32
34
|
prepare_varnish
|
33
35
|
|
34
36
|
@config.current_environment.do_notify new_color, color
|
@@ -59,35 +61,6 @@ module OdaniaStaticPages
|
|
59
61
|
docker_compose_generator.write compose_file
|
60
62
|
end
|
61
63
|
|
62
|
-
def generate_nginx_config(do_rebuild)
|
63
|
-
vhost_renderer = ERB.new(File.read(File.join(@config.base_dir, 'templates', 'nginx', 'vhost.conf.erb')))
|
64
|
-
sites = {}
|
65
|
-
grouped_domains.each_pair do |site_name, page_config|
|
66
|
-
full_site_name = "#{site_name}.lvh.me"
|
67
|
-
puts "Writing vhost for: #{full_site_name}"
|
68
|
-
expires = @deploy_config.expires
|
69
|
-
FileUtils.mkdir_p @nginx_conf_dir
|
70
|
-
File.write File.join(@nginx_conf_dir, "#{site_name}.conf"), vhost_renderer.result(binding)
|
71
|
-
|
72
|
-
sites[site_name] = "#{site_name}.lvh.me:8080"
|
73
|
-
|
74
|
-
page_config.each do |config|
|
75
|
-
sites["#{site_name}#{config[:baseurl]}"] = "#{site_name}.lvh.me:8080#{config[:baseurl]}"
|
76
|
-
end if page_config.count > 1
|
77
|
-
end
|
78
|
-
|
79
|
-
puts 'Generating index.html'
|
80
|
-
FileUtils.mkdir_p @config.output_site_path
|
81
|
-
renderer = ERB.new(File.read(File.join(@config.base_dir, 'templates', 'nginx', 'index.html.erb')))
|
82
|
-
File.write File.join(@config.output_site_path, 'index.html'), renderer.result(binding)
|
83
|
-
|
84
|
-
puts 'Copy default vhost'
|
85
|
-
FileUtils.cp File.join(@config.base_dir, 'templates', 'nginx', 'default-vhost.conf'), File.join(@nginx_conf_dir, 'default.conf')
|
86
|
-
|
87
|
-
puts 'Copy nginx.conf'
|
88
|
-
FileUtils.cp File.join(@config.base_dir, 'templates', 'nginx', 'nginx.conf'), File.join(@nginx_dir, 'nginx.conf')
|
89
|
-
end
|
90
|
-
|
91
64
|
def prepare_varnish
|
92
65
|
docker_folder = File.join(@config.project_dir, 'docker')
|
93
66
|
FileUtils.mkdir_p docker_folder
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module OdaniaStaticPages
|
2
2
|
module Deploy
|
3
3
|
class Rsync
|
4
|
+
include NginxHelper
|
5
|
+
|
4
6
|
def initialize
|
5
7
|
@config = OdaniaStaticPages.config
|
6
8
|
@deploy_config = @config.current_environment.deploy_module
|
@@ -11,6 +13,11 @@ module OdaniaStaticPages
|
|
11
13
|
puts 'Preparing rsync state'
|
12
14
|
load_state
|
13
15
|
save_state
|
16
|
+
|
17
|
+
puts 'Copying Dockerfile'
|
18
|
+
FileUtils.cp File.join(@config.base_dir, 'templates', 'live', 'Dockerfile'), File.join(@config.output_path, 'Dockerfile')
|
19
|
+
|
20
|
+
NginxHelper.generate_nginx_config(false)
|
14
21
|
end
|
15
22
|
|
16
23
|
def publish(color, do_rebuild)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module NginxHelper
|
2
|
+
def generate_nginx_config(do_rebuild)
|
3
|
+
vhost_renderer = ERB.new(File.read(File.join(@config.base_dir, 'templates', 'nginx', 'vhost.conf.erb')))
|
4
|
+
sites = {}
|
5
|
+
grouped_domains.each_pair do |site_name, page_config|
|
6
|
+
full_site_name = "#{site_name}.lvh.me"
|
7
|
+
puts "Writing vhost for: #{full_site_name}"
|
8
|
+
expires = @deploy_config.expires
|
9
|
+
FileUtils.mkdir_p @nginx_conf_dir
|
10
|
+
File.write File.join(@nginx_conf_dir, "#{site_name}.conf"), vhost_renderer.result(binding)
|
11
|
+
|
12
|
+
sites[site_name] = "#{site_name}.lvh.me:8080"
|
13
|
+
|
14
|
+
page_config.each do |config|
|
15
|
+
sites["#{site_name}#{config[:baseurl]}"] = "#{site_name}.lvh.me:8080#{config[:baseurl]}"
|
16
|
+
end if page_config.count > 1
|
17
|
+
end
|
18
|
+
|
19
|
+
puts 'Generating index.html'
|
20
|
+
FileUtils.mkdir_p @config.output_site_path
|
21
|
+
renderer = ERB.new(File.read(File.join(@config.base_dir, 'templates', 'nginx', 'index.html.erb')))
|
22
|
+
File.write File.join(@config.output_site_path, 'index.html'), renderer.result(binding)
|
23
|
+
|
24
|
+
puts 'Copy default vhost'
|
25
|
+
default_vhost_file = 'live'.eql?(@config.environment) ? 'default-live-vhost.conf' : 'default-vhost.conf'
|
26
|
+
FileUtils.cp File.join(@config.base_dir, 'templates', 'nginx', default_vhost_file), File.join(@nginx_conf_dir, 'default.conf')
|
27
|
+
|
28
|
+
puts 'Copy nginx.conf'
|
29
|
+
FileUtils.cp File.join(@config.base_dir, 'templates', 'nginx', 'nginx.conf'), File.join(@nginx_dir, 'nginx.conf')
|
30
|
+
end
|
31
|
+
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<ul>
|
6
6
|
<% sites.each do |site_name, site_path| %>
|
7
7
|
<li>
|
8
|
-
<a href="<%= site_path.gsub(':8080', ':
|
8
|
+
<a href="<%= site_path.gsub(':8080', ':8088') %>" target="_blank"><%= site_name %></a>
|
9
9
|
(<a href="<%= site_path %>" target="_blank">Nginx</a>)
|
10
10
|
</li>
|
11
11
|
<% end %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: odania-static-pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Petersen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- lib/odania_static_pages/deploy/rsync.rb
|
157
157
|
- lib/odania_static_pages/deploy/s3.rb
|
158
158
|
- lib/odania_static_pages/generator/jekyll.rb
|
159
|
+
- lib/odania_static_pages/helper/nginx.rb
|
159
160
|
- lib/odania_static_pages/server/nginx.rb
|
160
161
|
- lib/odania_static_pages/version.rb
|
161
162
|
- odania-static-pages.gemspec
|
@@ -163,6 +164,7 @@ files:
|
|
163
164
|
- templates/docker-compose/docker-compose.yml.erb
|
164
165
|
- templates/jekyll/Gemfile.erb
|
165
166
|
- templates/jekyll/example_config.yml
|
167
|
+
- templates/live/Dockerfile
|
166
168
|
- templates/nginx/default-live-vhost.conf.erb
|
167
169
|
- templates/nginx/default-vhost.conf
|
168
170
|
- templates/nginx/index.html.erb
|
@@ -189,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
191
|
version: '0'
|
190
192
|
requirements: []
|
191
193
|
rubyforge_project:
|
192
|
-
rubygems_version: 2.6.
|
194
|
+
rubygems_version: 2.6.10
|
193
195
|
signing_key:
|
194
196
|
specification_version: 4
|
195
197
|
summary: Helper For creating static pages
|