Use Automated Builds on Docker Hub for easy CI of Play Framework projects
749
The official Docker Hub provides an Automated Builds feature for consistent building of Docker images. Another possible use case for this service, which hasn't received as much attention, is Continuous Integration. Simply provide a Dockerfile for your project that runs tests during docker build. Docker Hub's integration with GitHub and Bitbucket will pick up new commits, run your tests, and generate new Docker images when tests are successful. Further, the service offers webhooks, which can be utilized to extend this use case into Continuous Deployment.
Dockerfile creates a suitable Java environment for Play Framework, then uses Typesafe Activator to test and build the project during image creation. The image ENTRYPOINT is set to run the optimized project so docker run will default to launching the Play project within the container. Testing and compilation are performed only once, during image creation, so all generated images are pre-certified and can be deployed and started without rerunning the tests
The remainder of the files in this repo provide an example Play Framework project that responds to the standard activator commands
Copy Dockerfile into any Play Framework project that responds to the standard activator commands
Update the ADD commands to include all project files needed for testing and running the app
To test with a local image, run docker build --tag="myplayapp" .
To start the local image, run docker run -i -t -P myplayapp
To use Docker Hub for CI, push the project and its Dockerfile to GitHub or BitBucket and configure your automated build
Consider using the webhooks feature to trigger deployments for successful builds
Tweet at me or File an issue if you have questions or comments. Suggestions or ideas for improvement are greatly appreciated.
Content type
Image
Digest
sha256:46c8d44c2…
Size
1 GB
Last updated
over 11 years ago
docker pull adamalex/play-docker-ci