All Projects → schmitch → Sbt Jib

schmitch / Sbt Jib

Licence: apache-2.0
sbt version of sbt jib: https://github.com/GoogleContainerTools/jib

Programming Languages

scala
5932 projects

Labels

Projects that are alternatives of or similar to Sbt Jib

Rhodddoobie
My little sandbox for playing around with the FP + OOP + DDD combination, in particular using Rho, doobie, Docker, testing, etc in a project.
Stars: ✭ 38 (-60.82%)
Mutual labels:  sbt
Scala Native.g8
Giter8 template for a minimal project that uses Scala Native.
Stars: ✭ 61 (-37.11%)
Mutual labels:  sbt
Scala Play Angular Seed
🍀 Scala Play 2.7.x + Angular 8 with Angular CLI seed project with full-fledged build process
Stars: ✭ 85 (-12.37%)
Mutual labels:  sbt
Play Reactive Slick
This is Play Template with a nice User Interface. If you want to use Play as web framework and Postgres as Database then this demo project can be used as a starting point for your application.
Stars: ✭ 40 (-58.76%)
Mutual labels:  sbt
Play Spark Scala
Stars: ✭ 51 (-47.42%)
Mutual labels:  sbt
Scala Js Chrome
ScalaJS bindings for Chrome Extention/App and ChromeOS APIs
Stars: ✭ 73 (-24.74%)
Mutual labels:  sbt
E
A zero-dependency micro library to deal with errors
Stars: ✭ 21 (-78.35%)
Mutual labels:  sbt
Sbt Newrelic
New Relic monitoring integration for SBT with sbt-native-packager
Stars: ✭ 87 (-10.31%)
Mutual labels:  sbt
Scala Graalvm Docker
Docker images to build and generate native artifacts using GraalVM
Stars: ✭ 60 (-38.14%)
Mutual labels:  sbt
Sbt Dirty Money
clean Ivy2 cache
Stars: ✭ 84 (-13.4%)
Mutual labels:  sbt
Finagle Metrics
Easy way to send Finagle metrics to Codahale Metrics library
Stars: ✭ 41 (-57.73%)
Mutual labels:  sbt
Sbt Frege
Frege support for sbt
Stars: ✭ 51 (-47.42%)
Mutual labels:  sbt
Sbt Dependency Graph
sbt plugin to create a dependency graph for your project
Stars: ✭ 1,223 (+1160.82%)
Mutual labels:  sbt
Sbt Play Gulp
Gulp asset pipeline for Play Framework
Stars: ✭ 38 (-60.82%)
Mutual labels:  sbt
Scala Ddd Example
🎯 λ Hexagonal Architecture + DDD + CQRS applied in Scala using Akka HTTP
Stars: ✭ 86 (-11.34%)
Mutual labels:  sbt
Scala Cypher Dsl
A type-safe Cypher Query Language DSL for Scala.
Stars: ✭ 34 (-64.95%)
Mutual labels:  sbt
Ore
Repository software for Sponge plugins and Forge mods
Stars: ✭ 63 (-35.05%)
Mutual labels:  sbt
Freeacs
(Seeking maintainer) Free TR-069 ACS that can run (mostly) anywhere.
Stars: ✭ 90 (-7.22%)
Mutual labels:  sbt
Android Vertical Stepper View
A vertical stepper implementation of the material design specification
Stars: ✭ 87 (-10.31%)
Mutual labels:  sbt
Proscalafx
Pro JavaFX2 book source codes translated to ScalaFX
Stars: ✭ 83 (-14.43%)
Mutual labels:  sbt

sbt-jib

This project tries to make a sbt plugin for the awesome jib project from google.

settings

name type description
jibBaseImage String jib base image
jibBaseImageCredentialHelper Option[String]] jib base image credential helper cli name (e.g. ecr-login)
jibJvmFlags List[String]] jib default jvm flags
jibArgs List[String]] jib default args
jibEntrypoint Option[List[String]] jib entrypoint
jibImageFormat JibImageFormat jib default image format
jibTargetImageCredentialHelper Option[String] jib target image credential helper cli name
jibRegistry String jib target image registry (defaults to docker hub)
jibOrganization String jib docker organization (defaults to organization)
jibName String jib image name (defaults to project name)
jibVersion String jib version (defaults to version)
jibEnvironment Map[String, String] jib docker env variables
jibLabels Map[String, String] jib docker labels
jibUser Option[String] jib user and group to run the container as
jibMappings Seq[(File, String)] jib additional resource mappings,
formatted as <source file resource> -> <full path on container>
jibExtraMappings Seq[(File, String)] jib extra file mappings / i.e. java agents
(see above for formatting)
jibUseCurrentTimestamp Boolean jib use current timestamp for image creation time. Default to Epoch
jibCustomRepositoryPath Option[String] jib custom repository path freeform path structure.
The default repo structure is organization/name

commands

name description
jibDockerBuild jib build docker image
jibImageBuild jib build image (does not need docker)
jibTarImageBuild jib build tar image

snippets and examples

injecting java agents

This snippet shows how to inject a Java Agent (Kanela) into a container via jibExtraMappings.

build.sbt

//...project stuff...
javaAgents += "io.kamon" % "kanela-agent" % "1.0.5" % "dist;runtime;compile"
//...project stuff...
jibBaseImage := "openjdk:11-jre"
jibName := "my-service"
jibRegistry := "some-ecr-repository"
jibUseCurrentTimestamp := true
jibCustomRepositoryPath := Some(jibName.value)
jibJvmFlags := List("-javaagent:/root/lib/kanela-agent.jar")
jibExtraMappings := {
    //javaAgents, Modules and ResolvedAgent come from the sbt-javaagent plugin
    val resolved = javaAgents.value.map { agent =>
        update.value.matching(Modules.exactFilter(agent.module)).headOption map {
            jar => ResolvedAgent(agent, jar)
        }
    }
    for {
        resolvedAgent <- resolved.flatten
    } yield {
        resolvedAgent.artifact -> s"/root/lib/${resolvedAgent.agent.name}.jar"
    }
}
jibTargetImageCredentialHelper := Some("ecr-login") 
jibBaseImageCredentialHelper := Some("ecr-login")
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].