I wrote the following mix.exs
to release my Phoenix application as a tar ball, referring to the “Steps” section of the Mix.Tasks.Release
documentation.
defmodule MyApp.MixProject do
use Mix.Project
def project do
[
apps_path: "apps",
apps: [:shared, :admin, :shop],
version: "0.1.0",
start_permanent: Mix.env() in [:qa, :prod],
deps: deps(),
releases: [
my_app: [
applications: [
admin: :permanent,
shop: :permanent
],
steps: [:assemble, ©_extra_files/1, :tar]
]
],
default_release: :my_app
]
end
defp copy_extra_files(release) do
File.cp_r("apps/shared/priv/repo/seeds", release.path <> "/seeds")
release
end
defp deps do
[]
end
end
When I run MIX_ENV=qa mix release my_app
, it created a seeds
directory under _build/qa/rel/my_app
, but when I extract the generated tar ball, it does not contain the seeds
directory.
Is it possible that my copy_extra_files/1
is wrong?
Elixir version is 1.11.3.