Current section

9 Versions

Jump to

Compare versions

17 files changed
+337 additions
-23 deletions
  @@ -1,5 +1,11 @@
1 1 # Changelog
2 2
3 + ## 0.1.7
4 + * [Storage] added a new storage driver system for your releases
5 + * [Storage.Local] the default storage engine (local machine)
6 + * [Storage.S3] store your releases on S3 (requires `ex_aws`, `ex_aws_s3`)
7 + * [Storage.BuildServer] store your releases on your build server
8 +
3 9 ## 0.1.6
4 10 * [test] added way ot test Local driver on CI
5 11 - [StopRelease] added new step to stop the release before unarchiving the new one
  @@ -20,7 +20,7 @@ The documentation for `mate` can be found on [hexdocs.pm/mate](https://hexdocs.p
20 20 ```elixir
21 21 def deps do
22 22 [
23 - {:mate, "~> 0.1.6", only: :dev}
23 + {:mate, "~> 0.1.7", only: :dev}
24 24 ]
25 25 end
26 26 ```
  @@ -11,8 +11,11 @@
11 11 <<"lib/mate/session.ex">>,<<"lib/mate/driver">>,
12 12 <<"lib/mate/driver/local.ex">>,<<"lib/mate/driver/docker.ex">>,
13 13 <<"lib/mate/driver/test.ex">>,<<"lib/mate/driver/ssh.ex">>,
14 - <<"lib/mate/config.ex">>,<<"lib/mate/driver.ex">>,<<"lib/mate/steps">>,
15 - <<"lib/mate/steps/deploy">>,<<"lib/mate/steps/deploy/stop_release.ex">>,
14 + <<"lib/mate/config.ex">>,<<"lib/mate/storage">>,
15 + <<"lib/mate/storage/local.ex">>,<<"lib/mate/storage/s3.ex">>,
16 + <<"lib/mate/storage/build_server.ex">>,<<"lib/mate/driver.ex">>,
17 + <<"lib/mate/steps">>,<<"lib/mate/steps/deploy">>,
18 + <<"lib/mate/steps/deploy/stop_release.ex">>,
16 19 <<"lib/mate/steps/deploy/copy_to_deploy_host.ex">>,
17 20 <<"lib/mate/steps/deploy/start_release.ex">>,
18 21 <<"lib/mate/steps/deploy/unarchive_release.ex">>,<<"lib/mate/steps/build">>,
  @@ -30,11 +33,21 @@
30 33 <<"lib/mate/steps/build/copy_to_storage.ex">>,
31 34 <<"lib/mate/steps/build/npm_build.ex">>,
32 35 <<"lib/mate/steps/build/verify_git.ex">>,<<"lib/mate/helpers.ex">>,
33 - <<"lib/mate/utils.ex">>,<<"lib/mate/pipeline.ex">>,
34 - <<"priv/run-wrapper.sh">>,<<".formatter.exs">>,<<"mix.exs">>,
35 - <<"CHANGELOG.md">>,<<"README.md">>,<<"LICENSE.md">>]}.
36 + <<"lib/mate/utils.ex">>,<<"lib/mate/storage.ex">>,
37 + <<"lib/mate/pipeline.ex">>,<<"priv/run-wrapper.sh">>,<<".formatter.exs">>,
38 + <<"mix.exs">>,<<"CHANGELOG.md">>,<<"README.md">>,<<"LICENSE.md">>]}.
36 39 {<<"licenses">>,[<<"MIT">>]}.
37 40 {<<"links">>,[{<<"GitHub">>,<<"https://github.com/maxvw/mate">>}]}.
38 41 {<<"name">>,<<"mate">>}.
39 - {<<"requirements">>,[]}.
40 - {<<"version">>,<<"0.1.6">>}.
42 + {<<"requirements">>,
43 + [[{<<"app">>,<<"ex_aws">>},
44 + {<<"name">>,<<"ex_aws">>},
45 + {<<"optional">>,true},
46 + {<<"repository">>,<<"hexpm">>},
47 + {<<"requirement">>,<<"~> 2.0">>}],
48 + [{<<"app">>,<<"ex_aws_s3">>},
49 + {<<"name">>,<<"ex_aws_s3">>},
50 + {<<"optional">>,true},
51 + {<<"repository">>,<<"hexpm">>},
52 + {<<"requirement">>,<<"~> 2.0">>}]]}.
53 + {<<"version">>,<<"0.1.7">>}.
  @@ -58,6 +58,8 @@ defmodule Mate.Config do
58 58 :steps,
59 59 driver: Mate.Driver.SSH,
60 60 driver_opts: [],
61 + storage: Mate.Storage.Local,
62 + storage_opts: [],
61 63 mix_env: :prod,
62 64 clean_paths: ~w{_build rel priv/generated priv/static},
63 65 remotes: []
  @@ -69,6 +71,8 @@ defmodule Mate.Config do
69 71 steps: Mate.Pipeline.steps() | function() | nil,
70 72 driver: atom(),
71 73 driver_opts: keyword(),
74 + storage: atom(),
75 + storage_opts: keyword(),
72 76 mix_env: atom(),
73 77 clean_paths: list(String.t()),
74 78 remotes: list(Remote.t())
  @@ -4,11 +4,10 @@ defmodule Mate.Driver do
4 4
5 5 The idea behind supporting multiple drivers is allowing the user to decide
6 6 how and where they want to build their application. By default it will use
7 - the SSH driver, but maybe in the near future there will be other built-in
8 - drivers. It is also possible to write your own, of course. For an example I
9 - recommend looking at `Mate.Driver.SSH`.
7 + the SSH driver, but you can also use Docker or Local. It is also possible
8 + to write your own. For an example I recommend looking at `Mate.Driver.SSH`.
10 9
11 - **NOTE:** Deployments currently always use the `Mate.Driver.SSH`.
10 + **NOTE:** Deployments (after build) currently always use the `Mate.Driver.SSH`.
12 11 """
13 12 alias Mate.Session
Loading more files…