spotify/dockerfile-maven: A set of Maven tools for dealing with Dockerfiles
august 2018 by jm
'a Maven plugin and extension which help to seamlessly integrate Docker with Maven. The design goals are:
Don't try to do anything fancy. Dockerfiles are how you build Docker projects; that's what this plugin uses. They are mandatory.
Make the Docker build process integrate with the Maven build process. If you bind the default phases, when you type mvn package, you get a Docker image. When you type mvn deploy, your image gets pushed.
Make the goals remember what you are doing. You can type mvn dockerfile:build and later mvn dockerfile:tag and later mvn dockerfile:push without problems. This also eliminates the need for something like mvn dockerfile:build -DalsoPush; instead you can just say mvn dockerfile:build dockerfile:push.
Integrate with the Maven build reactor. You can depend on the Docker image of one project in another project, and Maven will build the projects in the correct order. This is useful when you want to run integration tests involving multiple services.'
Looks very nice and well-run -- shame it's Maven instead of Gradle...
java
docker
maven
build
coding
packaging
Don't try to do anything fancy. Dockerfiles are how you build Docker projects; that's what this plugin uses. They are mandatory.
Make the Docker build process integrate with the Maven build process. If you bind the default phases, when you type mvn package, you get a Docker image. When you type mvn deploy, your image gets pushed.
Make the goals remember what you are doing. You can type mvn dockerfile:build and later mvn dockerfile:tag and later mvn dockerfile:push without problems. This also eliminates the need for something like mvn dockerfile:build -DalsoPush; instead you can just say mvn dockerfile:build dockerfile:push.
Integrate with the Maven build reactor. You can depend on the Docker image of one project in another project, and Maven will build the projects in the correct order. This is useful when you want to run integration tests involving multiple services.'
Looks very nice and well-run -- shame it's Maven instead of Gradle...
august 2018 by jm
Google Cloud Platform Blog: Introducing Jib
july 2018 by jm
'build Java Docker images better':
build
google
java
docker
maven
gradle
coding
builds
jars
fat-jars
packaging
Jib takes advantage of layering in Docker images and integrates with your build system to optimize Java container image builds in the following ways:
Simple - Jib is implemented in Java and runs as part of your Maven or Gradle build. You do not need to maintain a Dockerfile, run a Docker daemon, or even worry about creating a fat JAR with all its dependencies. Since Jib tightly integrates with your Java build, it has access to all the necessary information to package your application. Any variations in your Java build are automatically picked up during subsequent container builds.
Fast - Jib takes advantage of image layering and registry caching to achieve fast, incremental builds. It reads your build config, organizes your application into distinct layers (dependencies, resources, classes) and only rebuilds and pushes the layers that have changed. When iterating quickly on a project, Jib can save valuable time on each build by only pushing your changed layers to the registry instead of your whole application.
Reproducible - Jib supports building container images declaratively from your Maven and Gradle build metadata, and as such can be configured to create reproducible build images as long as your inputs remain the same.
july 2018 by jm
Google is Maven Central's New Best Friend
october 2015 by jm
google now mirroring Maven Central.
google
maven
maven-central
jars
hosting
java
packages
build
october 2015 by jm
Preventing Dependency Chain Attacks in Maven
august 2015 by jm
using a whitelist of allowed dependency JARs and their SHAs
security
whitelisting
dependencies
coding
jar
maven
java
jvm
august 2015 by jm
Stu Hood and Brian Degenhardt, Scala at Twitter, SF Scala @Twitter 20150217
march 2015 by jm
'Stu Hood and Brian Degenhardt talk about the history of Scala at Twitter, from inception until today, covering 2.10 migration, the original Alex Payne’s presentation from way back, pants, and more. The first five years of Scala at Twitter and the years ahead!'
Very positive indeed on the monorepo concept.
monorepo
talks
scala
sfscala
stu-hood
twitter
pants
history
repos
build
projects
compilation
gradle
maven
sbt
Very positive indeed on the monorepo concept.
march 2015 by jm
'Prometheus instrumentation library for JVM applications'
february 2015 by jm
Good example of a clean java OSS release, from Soundcloud. will be copying bits of this myself soon...
prometheus
java
libraries
oss
github
sonatype
maven
releases
february 2015 by jm
Publishing from GitHub to Maven Central
january 2015 by jm
A good starting point. This looks bloody complex :(
maven
sonatype
gradle
jar
open-source
github
release
gpg
january 2015 by jm
How to take over the computer of any JVM developer
jars
dependencies
java
build
clojure
security
mitm
http
proxies
backdoors
scala
maven
gradle
july 2014 by jm
To prove how easy [MITM attacking Mavencentral JARs] is to do, I wrote dilettante, a man-in-the-middle proxy that intercepts JARs from maven central and injects malicious code into them. Proxying HTTP traffic through dilettante will backdoor any JARs downloaded from maven central. The backdoored version will retain their functionality, but display a nice message to the user when they use the library.
july 2014 by jm
related tags
backdoors ⊕ build ⊕ builds ⊕ clojure ⊕ coding ⊕ compilation ⊕ dependencies ⊕ docker ⊕ fat-jars ⊕ github ⊕ google ⊕ gpg ⊕ gradle ⊕ history ⊕ hosting ⊕ http ⊕ jar ⊕ jars ⊕ java ⊕ jvm ⊕ libraries ⊕ maven ⊖ maven-central ⊕ mitm ⊕ monorepo ⊕ open-source ⊕ oss ⊕ packages ⊕ packaging ⊕ pants ⊕ projects ⊕ prometheus ⊕ proxies ⊕ release ⊕ releases ⊕ repos ⊕ sbt ⊕ scala ⊕ security ⊕ sfscala ⊕ sonatype ⊕ stu-hood ⊕ talks ⊕ twitter ⊕ whitelisting ⊕Copy this bookmark: