Current section
9 Versions
Jump to
Current section
9 Versions
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…