Sha256: 60464670481c145789f92a8657f61aae43f0b4653a8957d1d51f4e180c96e162

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

module Phase
  module Config
    class Deploy

      # @return [Array<Environment>] the configured deployment environments
      attr_reader :environments


      # @return [String] the compact or fully-qualified address of the Docker repository
      # @example Sample settings
      #   config.deploy.docker_repository = "mycompany/myrepo"
      #   config.deploy.docker_repository = "https://docker.mycompany.com/myrepo"
      attr_accessor :docker_repository


      # @return [String] the path (relative to Phasefile) to the version lockfile (default "VERSION")
      # @example Sample settings
      #   config.deploy.version_lockfile = "lib/myproj/version.lock"
      attr_accessor :version_lockfile


      # @return [String] the cloud storage bucket ("directory") for storing compiled assets
      # @example Sample settings
      #   config.deploy.docker_repository = "static-assets"
      attr_accessor :asset_bucket


      # @return [String] any options or switches to be passed to the Docker daemon at runtime
      # @example Sample settings
      #   config.deploy.docker_repository = "-v /dir:/dir -e VAR=value --env-file=.environment"
      attr_accessor :docker_run_flags


      def initialize
        @environments = []
        @version_lockfile = "VERSION"
      end

      # Adds a new deployment environment.
      # @return [Environment] the new environment
      def environment(name, options = {})
        @environments << Environment.new(name, options)
      end
    end


    class Environment

      attr_accessor :name, :perform_build, :server_filters

      alias_method :perform_build?, :perform_build

      def initialize(name, options = {})
        @name = name
        @perform_build = options.fetch(:build, true)
        @server_filters = options.fetch(:servers, {})
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
phase-1.0.0 lib/phase/config/deploy.rb
phase-1.0.0.rc2 lib/phase/config/deploy.rb