diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8c94a15..05cb2a0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,3 +15,8 @@ pages: artifacts: paths: - public +ping: + needs: + - "pages:deploy" + script: + - mix pre_dot_hn.ping diff --git a/lib/mix/tasks/pre_dot_hn/ping.ex b/lib/mix/tasks/pre_dot_hn/ping.ex new file mode 100644 index 0000000..d672ee5 --- /dev/null +++ b/lib/mix/tasks/pre_dot_hn/ping.ex @@ -0,0 +1,20 @@ +defmodule Mix.Tasks.PreDotHn.Ping do + use Mix.Task + + @urls [ + "http://google.com/ping?sitemap=%s", + "http://www.bing.com/webmaster/ping.aspx?sitemap=%s" + ] + + def ping(sitemap_url) do + @urls + |> Enum.map(fn url -> + ping_url = String.replace(url, "%s", sitemap_url) + :httpc.request('#{ping_url}') + end) + end + + def run(_args) do + ping("https://pre.hn/sitemap.xml.gz") + end +end