Skip to content

INF-979 Prefactor docker code to prepare for additional dockerfiles and images#57243

Merged
cat5inthecradle merged 5 commits into
stagingfrom
darin/docker-prefactor
Aug 27, 2024
Merged

INF-979 Prefactor docker code to prepare for additional dockerfiles and images#57243
cat5inthecradle merged 5 commits into
stagingfrom
darin/docker-prefactor

Conversation

@cat5inthecradle

@cat5inthecradle cat5inthecradle commented Mar 13, 2024

Copy link
Copy Markdown
Contributor

Our existing dockerfile builds an image suitable for Drone tests and perhaps local development, but it's not great for production workloads. In preparation for adding additional Docker options, this PR removes the presumption that this is the only or primary dockerfile, making room for additional dockerfiles.

For example, I am working on a 'minimal' or 'dependencies only' Dockerfile that contains only system dependencies for building and running the rails application. It will not contain developer tools, a mysql server, or testing dependencies like browser drivers.

Two major things are happening here:

  • renaming "docker/dockerfiles" to "docker/drone" to isolate the Dockerfile and entrypoint script that we use for drone.
  • renaming the image we push to Docker Hub from codedotorg/code-dot-org to codedotorg/cdo-drone. Chosing this name vs just drone because it's an image of the code-dot-org application, cdo for brevity, prepared specially for executing in drone. Future images might be cdo-minimal and cdo-activejob or cdo-dashboard.

Links

Testing story

Deployment strategy

Follow-up work

After merging this, a new image should be pushed to Docker Hub with the new naming convention. After this is pushed, we can create a new Pull Request that updates the docker compose files and the drone configuration to use the new image. Then we can complete all the 'TODO' items in this PR.

Privacy

Security

Caching

PR Checklist:

  • Tests provide adequate coverage
  • Privacy and Security impacts have been assessed
  • Code is well-commented
  • New features are translatable or updates will not break translations
  • Relevant documentation has been added or updated
  • User impact is well-understood and desirable
  • Pull Request is labeled appropriately
  • Follow-up work items (including potential tech debt) are tracked and linked

@cat5inthecradle cat5inthecradle requested a review from a team as a code owner March 13, 2024 21:38
@cat5inthecradle cat5inthecradle requested a review from wilkie March 27, 2024 18:14
Comment thread docker/README.md Outdated

```
docker tag <image_id> codedotorg/code-dot-org:<version>
docker tag <image_id> codedotorg/cdo-drone:<version>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't define what are versioning scheme is. I'd suggest a simple incrementing integer, or a date based scheme.

@wilkie wilkie left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes please. :)

@sureshc

sureshc commented Jul 18, 2024

Copy link
Copy Markdown
Contributor

Given how many lines of code we have that still reference Circle CI, I think I'd prefer that we name things continuous-integration instead of drone :)

@cat5inthecradle

Copy link
Copy Markdown
Contributor Author

@wilkie I'll merge this after drone passes in prep for #60274

@cat5inthecradle cat5inthecradle merged commit a34d210 into staging Aug 27, 2024
@cat5inthecradle cat5inthecradle deleted the darin/docker-prefactor branch August 27, 2024 19:31
@snickell snickell mentioned this pull request Oct 14, 2024
22 tasks
@Hamms Hamms mentioned this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants