Elixir 部署系列
Erlang/Elixir: 用Distillery替换Exam打包器
Erlang/Elixir: Edeliver 持续部署 Checklist
Erlang/Elixir: 使用 Edeliver 进行持续部署
本文是基于 Erlang/Elixir: 使用 Edeliver 进行持续部署 文章经过一周的试错, 总结出来的工作流.
1. 假定当前版本为
0.1.16
, 需要升级到0.1.17
, 需要在mix.exs
文件中提升版本号
diff --git a/mix.exs b/mix.exs
index 88a39dc..c338b63 100755
--- a/mix.exs
+++ b/mix.exs
@@ -5,7 +5,7 @@ defmodule TestApp.Mixfile do
[
app: :test_app,
description: "A test app",
- version: "0.1.16",
+ version: "0.1.17",
elixir: "~> 1.2",
build_embedded: Mix.env in [:prod],
start_permanent: Mix.env == :prod,
2. Git/Gitflow版本发布
git add .
git commit -m 'bump version to 0.1.17'
git push
git flow release start 0.1.17
git flow release publish 0.1.17
git flow release finish -m 'Release 0.1.17' 0.1.17
git push
git push --tags
3. 一行命令发布新版本(替换)
mix deps.update --all
mix edeliver update production --branch=master --start-deploy --verbose --to=0.1.17
4. 一行命令发布新版本(热更)
mix edeliver build upgrade --verbose --start-deploy --branch=master --to=0.1.17
mix edeliver deploy upgrade to production --verbose --version=0.1.17
5. 上面的命令可以编写一个 SHELL 脚本进行自动化部署
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。