Agent Skillsnixopus/nixopus › elixir-deploy

elixir-deploy

GitHub

提供 Elixir/Phoenix 应用的构建与部署指南,涵盖版本检测、依赖编译、Mix Release 生成及 Dockerfile 编写模式,用于自动化部署流程。

api/skills/elixir-deploy/SKILL.md nixopus/nixopus

Trigger Scenarios

需要构建或部署 Elixir 项目时 检测到 mix.exs 文件时 生成 Phoenix 应用 Dockerfile 时

Install

npx skills add nixopus/nixopus --skill elixir-deploy -g -y
More Options

Non-standard path

npx skills add https://github.com/nixopus/nixopus/tree/master/api/skills/elixir-deploy -g -y

Use without installing

npx skills use nixopus/nixopus@elixir-deploy

指定 Agent (Claude Code)

npx skills add nixopus/nixopus --skill elixir-deploy -a claude-code -g -y

安装 repo 全部 skill

npx skills add nixopus/nixopus --all -g -y

预览 repo 内 skill

npx skills add nixopus/nixopus --list

SKILL.md

Frontmatter
{
    "name": "elixir-deploy",
    "metadata": {
        "version": "1.0"
    },
    "description": "Build and deploy Elixir and Phoenix applications — version detection, mix releases, and Dockerfile patterns. Use when deploying an Elixir or Phoenix project, or when mix.exs is detected."
}

Elixir Deployment

Detection

Project is Elixir if mix.exs exists in the root.

Versions

Elixir

  1. .elixir-version file
  2. mix.exs → detected from project
  3. mise.toml or .tool-versions
  4. Defaults to 1.18

Erlang (OTP)

  1. .erlang-version file
  2. Resolved automatically from Elixir version
  3. mise.toml or .tool-versions
  4. Defaults to 27.3

Build

Build Process

  1. Install Elixir and Erlang
  2. Get and compile deps: mix deps.get --only prod and mix deps.compile
  3. If defined: mix assets.setup
  4. If defined: mix assets.deploy and mix ecto.deploy
  5. Compile and release: mix compile and mix release

Start Command

/app/_build/prod/rel/<app_name>/bin/<app_name> start

Framework Detection

Signal Framework
mix.exs + phoenix dep Phoenix
config/config.exs Standard Elixir app
config/runtime.exs Runtime config (prod)

Phoenix-Specific

  • Asset pipeline: Node.js or esbuild; run mix assets.setup and mix assets.deploy
  • Ecto: mix ecto.setup (dev) / mix ecto.deploy (prod)
  • Release: mix release produces standalone tarball/binary

Install Stage Optimization

Copy in order:

  • mix.exs, mix.lock
  • config/ (full config directory)
  • lib/, test/, assets/ (Phoenix)

Base Images

Stage Image
Build hexpm/elixir:1.18-erlang-27.3 or elixir:1.18
Runtime debian:bookworm-slim + extracted release, or elixir:1.18-slim

Dockerfile Patterns

Phoenix Release

FROM hexpm/elixir:1.18-erlang-27.3 AS build
WORKDIR /app
RUN mix local.hex --force && mix local.rebar --force
COPY mix.exs mix.lock ./
RUN mix deps.get --only prod && mix deps.compile
COPY config config
COPY lib lib
COPY priv priv
COPY assets assets
RUN mix assets.deploy
RUN mix compile
RUN mix release

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y libssl3 ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/_build/prod/rel/my_app ./
EXPOSE 4000
CMD ["./bin/my_app", "start"]

Plain Elixir (no Phoenix)

FROM hexpm/elixir:1.18-erlang-27.3 AS build
WORKDIR /app
COPY mix.exs mix.lock ./
RUN mix deps.get --only prod && mix deps.compile
COPY config config
COPY lib lib
RUN mix compile && mix release

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y libssl3 ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/_build/prod/rel/my_app ./
CMD ["./bin/my_app", "start"]

Version History

  • cf05d97 Current 2026-08-20 14:51

Same Skill Collection

api/skills/api-catalog/SKILL.md
api/skills/caddyfile-generation/SKILL.md
api/skills/compose-setup/SKILL.md
api/skills/container-resource-tuning/SKILL.md
api/skills/cpp-deploy/SKILL.md
api/skills/database-migration/SKILL.md
api/skills/deno-deploy/SKILL.md
api/skills/deploy-delegation/SKILL.md
api/skills/deploy-flow/SKILL.md
api/skills/deployment-analysis/SKILL.md
api/skills/diagnostic-workflow/SKILL.md
api/skills/dockerfile-generation/SKILL.md
api/skills/dockerignore-generation/SKILL.md
api/skills/domain-attachment/SKILL.md
api/skills/domain-tls-routing/SKILL.md
api/skills/dotnet-deploy/SKILL.md
api/skills/failure-diagnosis/SKILL.md
api/skills/github-onboarding/SKILL.md
api/skills/github-workflow/SKILL.md
api/skills/gleam-deploy/SKILL.md
api/skills/go-deploy/SKILL.md
api/skills/incident-response/SKILL.md
api/skills/java-deploy/SKILL.md
api/skills/machine-ops/SKILL.md
api/skills/mcp-integrations/SKILL.md
api/skills/monorepo-strategy/SKILL.md
api/skills/nixopus-docs/SKILL.md
api/skills/node-deploy/SKILL.md
api/skills/onboarding/SKILL.md
api/skills/php-deploy/SKILL.md
api/skills/post-deploy-verification/SKILL.md
api/skills/pre-deploy-checklist/SKILL.md
api/skills/python-deploy/SKILL.md
api/skills/rollback-strategy/SKILL.md
api/skills/ruby-deploy/SKILL.md
api/skills/rust-deploy/SKILL.md
api/skills/self-heal/SKILL.md
api/skills/shell-deploy/SKILL.md
api/skills/static-deploy/SKILL.md

Metadata

Files
0
Version
cf05d97
Hash
410cfe01
Indexed
2026-08-20 14:51

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-29 23:17
浙ICP备14020137号-1 $방문자$