arrow-site icon indicating copy to clipboard operation
arrow-site copied to clipboard

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

Open kevingurney opened this issue 2 years ago • 0 comments

This is a follow up to #326.

As discussed in https://github.com/apache/arrow-site/pull/326#discussion_r1128584928, 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).

kevingurney avatar Mar 09 '23 11:03 kevingurney