The goal of this plan is to test the end-to-end functionality of our entire system.
The system consists of 4 parts:
- Trader App
- Ledger
- Orderbook
- Verifiers
FROM elixir:1.9.4 # [1] | |
ARG env=dev # [2] | |
ENV LANG=en_US.UTF-8 \ # [3] | |
TERM=xterm \ | |
MIX_ENV=$env | |
WORKDIR /opt/build # [4] | |
#!/usr/bin/env bash | |
set -e | |
echo "Starting release process..." | |
cd /opt/build # [1] | |
echo "Creating release artifact directory..." | |
mkdir -p /opt/build/rel/artifacts # [2] | |
echo "Installing rebar and hex..." |
# config/prod.secret.exs | |
config :my_project, MyProjectWeb.Endpoint, server: true |
#!/usr/bin/env bash | |
# This file is meant to be private! | |
# You should remove it from source control if | |
# you plan on using this repo. | |
docker build --build-arg env=prod \ | |
--build-arg env=prod \ | |
-t my-project:latest . |
defp aliases do | |
[ | |
pkg: ["cmd ./local/build_container"] | |
] | |
end |
#!/usr/bin/env bash | |
docker run -v $(pwd):/opt/build --rm -it my-project:latest /opt/build/bin/build | |
[1] [2] [3] |
$ ansible-playbook deploy/deploy.yml | |
$ ansible-playbook deploy/migrations.yml | |
$ ansible-playbook deploy/startup.yml |
- hosts: all # 1 | |
remote_user: user_name # 2 | |
tasks: | |
- name: <task name> # 3 | |
module_name: # 4 | |
module_arg1: "foo" # 5 | |
register: my_output # 6 |