https://github.com/govtechsg/base-images
Base images used for internal builds
https://github.com/govtechsg/base-images
Last synced: 5 days ago
JSON representation
Base images used for internal builds
- Host: GitHub
- URL: https://github.com/govtechsg/base-images
- Owner: GovTechSG
- License: mit
- Created: 2018-01-27T02:50:30.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-09-16T05:47:56.000Z (over 3 years ago)
- Last Synced: 2025-02-14T16:45:07.409Z (over 1 year ago)
- Language: Shell
- Size: 37.1 KB
- Stars: 0
- Watchers: 62
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Base Containers
[](https://github.com/govtechsg/base-images/actions/workflows/build.yaml/)
This repository is a collection of Docker images we use internally for testing out runtimes/frameworks.
Daily builds are run against these images and automatically sent to our DockerHub repository at:
https://gallery.ecr.aws/govtechsg/base-images
## Methodology
All runtimes are built from official sources using the methods documented in the runtimes' official documentation.
## Catalog (Alphabetical Order)
- Node.js (`node*`)
### Release Notes
The images are found in the [Public ECR registry](https://gallery.ecr.aws/govtechsg/base-images), and the names of the different types of images are added as a tag. For example given a type of image called `xyz`, it will be available under the repository URL `public.ecr.aws/govtechsg/base-images:xyz-latest`.
### Usage/Description
#### Node (`node*`)
Canonical Tag: `node*-`
Latest URL: `public.ecr.aws/govtechsg/base-images:node-latest`
The `*` is available for versions of Node which satisfy the following criteria:
1. is an LTS release
2. is the latest non-LTS release
##### Notes
Generally compiled Node.js binary that comes with Yarn.
General compilation allows for debugging and performance profiling.
Available runtime commands:
- `npm`
- `node`
- `yarn`
## Other Uses
Images specified here can be uploaded to other repositories if you so wish. The commands are:
### For Building
The build script creates the build for the specified image:
```bash
REPO=__URL_TO_REPO__
IMAGE_NAME=__DIRECTORY_NAME__
./.scripts/.build.sh "${REPO}" "${IMAGE_NAME}"
```
An example to upload to a ECR at `public.ecr.aws/yourusername/yourimage:dind-latest`:
```bash
REPO="public.ecr.aws/yourusername/yourimage"
IMAGE_NAME="dind"
./.scripts/.build.sh "${REPO}" "${IMAGE_NAME}"
```
### For Publishing
The publish script in each directory sends your built image to DockerHub and relies on the `./.scripts/.build.sh` script being run prior to it. The general format of usage:
```bash
REPO=__URL_TO_REPO__
IMAGE_NAME=__DIRECTORY_NAME__
./${IMAGE_NAME}/.publish.sh "${REPO}:${IMAGE_NAME}"
```
A corresponding example to upload to a DockerHub repository at `public.ecr.aws/yourusername/yourimage:dind-latest`:
```bash
REPO="public.ecr.aws/yourusername/yourimage"
IMAGE_NAME="dind"
./${IMAGE_NAME}/.publish.sh "${REPO}:${IMAGE_NAME}"
```
Each directory and type of image has its own publish script because of the different ways they are versioned.