Open8

Elixir, Phoenix, Fly.io 等のメモ

sankakusankaku

Phoenix アプリを fly.io にデプロイする場合、config/prod.exs に db名は指定する必要がある。

config :hunt_cutdown, MyApp.Repo, database: "myapp_db"
sankakusankaku

GitLab CI は無料だと 400 分/月 までしか使えない。
追加購入は $10 で 1000 分。

https://www.gitlab.jp/releases/2020/09/14/ci-minutes-update-free-users/
https://about.gitlab.com/pricing/

テストと dialyzer だけで13分とかかけているので、何とかしないといけない。

GitLab.jp のページだと、古い 2000 分/月の表記になっている?
https://www.gitlab.jp/pricing/#gitlab-com

GitHub は 2000 分/月 で強い。
https://docs.github.com/ja/billing/managing-billing-for-github-actions/about-billing-for-github-actions

ローカルPCを Runner としてつかえないだろうか?
https://qiita.com/kabik/items/050c0748b85acb925ec7

sankakusankaku

Circle CI を試したが、Deploy Key を追加できない。
CORS で何かが引っ掛かっている?

circle ci ssh key page and error message

sankakusankaku

なぜか my_app/lib/my_app_web/templates/layout/live.html.heex をフォーマットすると、アラートの枠が表示される。

pタグの中に改行・空白があると枠が出てくるらしい。

tailwind css, daisyUI を入れたのが悪さしているかも?

フォーマット前

<main class="container">
  <p class="alert alert-info" role="alert"
    phx-click="lv:clear-flash"
    phx-value-key="info"><%= live_flash(@flash, :info) %></p>

  <p class="alert alert-danger" role="alert"
    phx-click="lv:clear-flash"
    phx-value-key="error"><%= live_flash(@flash, :error) %></p>

  <%= @inner_content %>
</main>

フォーマット後

<main class="container">
  <p class="alert alert-info" role="alert" phx-click="lv:clear-flash" phx-value-key="info">
    <%= live_flash(@flash, :info) %>
  </p>

  <p class="alert alert-danger" role="alert" phx-click="lv:clear-flash" phx-value-key="error">
    <%= live_flash(@flash, :error) %>
  </p>

  <%= @inner_content %>
</main>

出てくるアラートの枠
phoenix alert

my_app/.formatter.exs を編集して、対象のファイルをフォーマットしないようにしておく。

[
  import_deps: [:ecto, :phoenix],
  plugins: [Phoenix.LiveView.HTMLFormatter],
  # inputs: ["*.{ex,exs}", "priv/*/seeds.exs", "{config,lib,test}/**/*.{heex,ex,exs}"],
  inputs: ["*.{ex,exs}", "priv/*/seeds.exs", "{config,lib,test}/**/*^(live.html).{heex,ex,exs}"],
  subdirectories: ["priv/*/migrations"]
]