Skip to content

[Website] Create a custom Docker container for running the website build and deployment steps #331

@kevingurney

Description

@kevingurney

This is a follow up to #326.

As discussed in #326 (comment), it would be helpful if the website deployment script (.github/workflows/deploy.yml) ran the website build steps inside of a custom Docker container.

This would enable easier reproducibility for local debugging workflows (i.e. https://github.com/apache/arrow-site#using-docker) and allow for more fine grained control over the deployment environment.

Ideally, the Docker container would have the following properties:

  1. Based on ubuntu:22.04 (i.e. FROM ubuntu:22.04).
  2. Uses nvm to install the latest available LTS version of Node.js based on an .nvmrc file.
  3. Uses rbenv to install the latest available LTS version of Ruby based on a .ruby-version file.
  4. All environment setup / dependency installation steps are extracted into a standalone Bash script (e.g. install_website_dependencies.sh) so that the script can also be run directly on an Ubuntu 22.04 host machine with no container requirement.
  5. Stored in the GitHub Container Registry (ghcr.io).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions