Skip to content

mm689/trove-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trove Diary Docker Images

Docker images created for the Trove diary-writing project

These images are intended to speed up and render more consistent the deployment of short programming tasks - such as running integration tests, or CI/CD steps - in different languages. They come pre-installed with:

  • relevant language-specific packages where appropriate, and
  • Dojo, a system for cleanly running ephemeral Docker containers

Images

The images provided by this repository can be found on DockerHub:

Usage

This repository is for generating images. Full details on the process of generating, testing and deploying them can be found in the CircleCI workflow spec or GoCD pipeline spec). The main elements of these are:

To build local images:

  • make build or make build-docker-<image name>

To verify locally built images:

  • make test-docker-<image name>

To retrieve updates to the list of R packages to pre-install:

  • make dependencies-get-updates

To commit updated package lists and docker image tags to the main Trove repository:

  • make dependencies-push-updates

Notes on updates

Terraform plugin caching

terraform is somewhat picky when it comes to using plugins from the shared plugin cache. It is likely to be necessary to do the following in order to ensure these are used with an updated image:

  1. Build the image containing Terraform, e.g. with make docker-build-composite
  2. Delete the relevant .terraform.lock.hcl file entirely
  3. Comment out the null provider section of terraform.test.tf
  4. Run make test-docker-composite to generate a .terraform.lock.hcl with hashes based on the Docker-installed plugin versions
  5. Uncomment the null provider section of terraform.test.tf
  6. (Optional) Run make terraform-update-lockfile to generate other hashes.
    • These hashes are only relevant when running terraform outside this Docker image, e.g. in other projects
  7. Copy the .terraform.lock.hcl file - or any relevant provider portions of it - to any projects this Docker image is to be used for.

About

Helper repository to produce docker images for mm689/trove

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published