X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/aeee849db5083abd11efab6c8cfbcf6145c0c3e1..d0e7baf48bf812a5c000c1e8d47a6fb9737d4d87:/cookbooks/stateofthemap/recipes/default.rb diff --git a/cookbooks/stateofthemap/recipes/default.rb b/cookbooks/stateofthemap/recipes/default.rb index 4521d668e..162c1002f 100644 --- a/cookbooks/stateofthemap/recipes/default.rb +++ b/cookbooks/stateofthemap/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: stateofthemap +# Cookbook:: stateofthemap # Recipe:: default # -# Copyright 2013, OpenStreetMap Foundation +# Copyright:: 2013, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -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 @@ -281,15 +281,23 @@ end end end -gem_package "jekyll" +package %w[ + ruby + ruby-dev + zlib1g-dev +] -%w[2016 2017 2018].each do |year| +gem_package "bundler" do + version "1.17.3" +end + +%w[2016 2017 2018 2019 2020].each do |year| git "/srv/#{year}.stateofthemap.org" do action :sync 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 @@ -298,16 +306,34 @@ gem_package "jekyll" 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