]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/stateofthemap/recipes/default.rb
Add test for stateofthemap cookbook
[chef.git] / cookbooks / stateofthemap / recipes / default.rb
index 5381aa350b9b37033628fd348baf3c34285d471a..1bb8176f177f05141a31d051821c282a68a93b29 100644 (file)
@@ -270,7 +270,7 @@ end
   end
 
   ssl_certificate "#{year}.stateofthemap.org" do
-    domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com"]
+    domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com", "#{year}.sotm.org"]
     notifies :reload, "service[apache2]"
   end
 
@@ -284,10 +284,14 @@ end
 package %w[
   ruby
   ruby-dev
+  libssl-dev
   zlib1g-dev
+  pkg-config
 ]
 
-gem_package "jekyll"
+apache_module "expires"
+apache_module "rewrite"
+
 gem_package "bundler" do
   version "1.17.3"
 end
@@ -298,7 +302,7 @@ end
     repository "git://github.com/openstreetmap/stateofthemap-#{year}.git"
     user "root"
     group "root"
-    notifies :run, "execute[/srv/#{year}.stateofthemap.org]"
+    notifies :run, "execute[/srv/#{year}.stateofthemap.org/Gemfile]"
   end
 
   directory "/srv/#{year}.stateofthemap.org/_site" do
@@ -307,16 +311,34 @@ end
     group "nogroup"
   end
 
+  # Workaround https://github.com/jekyll/jekyll/issues/7804
+  # by creating a .jekyll-cache folder
+  directory "/srv/#{year}.stateofthemap.org/.jekyll-cache" do
+    mode 0o755
+    owner "nobody"
+    group "nogroup"
+  end
+
+  execute "/srv/#{year}.stateofthemap.org/Gemfile" do
+    action :nothing
+    command "bundle install --deployment"
+    cwd "/srv/#{year}.stateofthemap.org"
+    user "root"
+    group "root"
+    notifies :run, "execute[/srv/#{year}.stateofthemap.org]"
+    only_if { ::File.exist?("/srv/#{year}.stateofthemap.org/Gemfile") }
+  end
+
   execute "/srv/#{year}.stateofthemap.org" do
     action :nothing
-    command "jekyll build --trace"
+    command "bundle exec jekyll build --trace --baseurl=https://#{year}.stateofthemap.org"
     cwd "/srv/#{year}.stateofthemap.org"
     user "nobody"
     group "nogroup"
   end
 
   ssl_certificate "#{year}.stateofthemap.org" do
-    domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com"]
+    domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com", "#{year}.sotm.org"]
     notifies :reload, "service[apache2]"
   end