package dockerfile-cmd

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Command invocation library to help with Docker builds.

This module primarily exposes utility functions to glue together Docker-based scripts for (e.g.) continuous integration systems like the ocaml-ci. The interface is fairly domain-specific and does not expose all the functionality of the underlying tools. Feel free to contribute more functions if you need them.

type cmd_log = {
  1. command : string;
  2. stdout : string;
  3. success : bool;
  4. status : [ `Signaled of int | `Exited of int ];
}

Results of a command invocation

val sexp_of_cmd_log : cmd_log -> Sexplib0.Sexp.t
val cmd_log_of_sexp : Sexplib0.Sexp.t -> cmd_log
val run_log : ?ok_to_fail:bool -> ?env:Bos.OS.Env.t -> Fpath.t -> string -> Bos.Cmd.t -> (unit, [> `Msg of string ]) result

runlog log_dir name cmd will run cmd with label name and log the results in <log_dir>/<name>.sxp.

module Docker : sig ... end

Docker command invocation

module Opam : sig ... end

Opam2 command invocation

Utility functions

val setup_logs : unit -> unit Cmdliner.Term.t

setup_logs () initialises a Logs environment.

val iter : ('a -> (unit, 'b) result) -> 'a list -> (unit, 'b) result
val map : ('a -> ('b, 'c) result) -> 'a list -> ('b list, 'c) result

Generate Dockerfiles

module Gen : sig ... end

Utility functions to generate Dockerfiles.

OCaml

Innovation. Community. Security.