init
This commit is contained in:
commit
b5265baa02
11 changed files with 3505 additions and 0 deletions
191
README.md
Normal file
191
README.md
Normal file
|
|
@ -0,0 +1,191 @@
|
|||
# Tiara's OCI Images
|
||||
|
||||
Standardization for building, archiving, vulnerability scanning and publishing
|
||||
lots of actively managed GNU/Linux and Microsoft Windows OCI (Docker) images
|
||||
under a multitude of circumstances - Do it fast, conveniently and
|
||||
conventionally.
|
||||
|
||||
# Images
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Image</th>
|
||||
<th>OS</th>
|
||||
<th>Arch</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>atlassian-bitbucketrunner323-windowsservercore</td>
|
||||
<td>Microsoft Windows</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-node19-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-node20-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-node21-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-node22-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-node23-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-openjdk21-windowsservercore</td>
|
||||
<td>Microsoft Windows</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-python39-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-python310-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-python311-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-python312-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-python313-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-ubuntu</td>
|
||||
<td>GNU/Linux</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>build-windowsservercore</td>
|
||||
<td>Microsoft Windows</td>
|
||||
<td>amd64</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
# Usage
|
||||
|
||||
## Set up and verify your build environment
|
||||
|
||||
```
|
||||
$> sh ./configure
|
||||
```
|
||||
|
||||
## Build Images
|
||||
|
||||
```
|
||||
make <group>-<program><programversion>-<platform>
|
||||
make all-<group>-<program>-<platform>
|
||||
make all-<group>-<platform>
|
||||
make <group>-<platform>
|
||||
make all-<platform>
|
||||
```
|
||||
|
||||
```
|
||||
$> make build-python39-ubuntu
|
||||
$> make all-build-python-ubuntu
|
||||
$> make all-build-ubuntu
|
||||
$> make build-ubuntu
|
||||
$> make all-ubuntu
|
||||
```
|
||||
|
||||
## Archive Images
|
||||
|
||||
Generate a GZip-compressed tarball archive of an image under
|
||||
`dist/`.
|
||||
|
||||
```
|
||||
$> make build-python39-ubuntu ARCHIVE=1
|
||||
```
|
||||
|
||||
Output path can be adjusted via `$ARCHIVE_DIST_PATH`.
|
||||
|
||||
```
|
||||
$> make build-python39-ubuntu ARCHIVE=1 ARCHIVE_DIST_PATH=dist2
|
||||
```
|
||||
|
||||
## Publish Images
|
||||
|
||||
Push image to a Docker registry.
|
||||
|
||||
> Login to Docker registry, prior to executing.
|
||||
|
||||
```
|
||||
$> make build-python39-ubuntu PUBLISH=1
|
||||
```
|
||||
|
||||
By default, will publish to `docker.io/byteb4rb1e`. Can be modified through
|
||||
`DOCKER_REGISTRY` and `DOCKER_REPO_SLUG`.
|
||||
|
||||
```
|
||||
$> make all-ubuntu \
|
||||
PUBLISH=1 \
|
||||
DOCKER_REGISTRY=contoso.com \
|
||||
DOCKER_REPO_SLUG=not-byteb4rb1e
|
||||
```
|
||||
|
||||
## Scan Images
|
||||
|
||||
Scan image with AquaSecurity Trivy Scanner for vulnerabilities and publish
|
||||
reports under `test-reports/`.
|
||||
|
||||
```
|
||||
$> make all-ubuntu SCAN=1
|
||||
```
|
||||
|
||||
## Mix & Match
|
||||
|
||||
Define specific sequences of what to make.
|
||||
|
||||
```
|
||||
$> make build-node23-ubuntu build-python313-ubuntu SCAN=1 ARCHIVE=1 PUBLISH=1
|
||||
```
|
||||
|
||||
## Parallelize
|
||||
|
||||
Run independent image builds and other jobs in parallel.
|
||||
|
||||
```
|
||||
make all-ubuntu -j8
|
||||
```
|
||||
|
||||
# Setup
|
||||
|
||||
Ensure the following tools are installed before proceeding:
|
||||
|
||||
* GNU Make (make) – Required for executing automation scripts.
|
||||
* Docker CLI (docker) – Used for building and managing OCI images.
|
||||
* curl, gzip, and tar – Needed for archiving and uploading image dumps.
|
||||
|
||||
Requirements
|
||||
|
||||
You need the optional *Containers* feature enabled, which is possible with at
|
||||
least Microsoft Windows 11 Professional (and Windows Server Editions).
|
||||
|
||||
Additionally you need the Docker daemon and Docker client and have configured
|
||||
them.
|
||||
|
||||
Also, you will need a build of *GNU Make*, which is available through
|
||||
environments such as Cygwin, MinGW or MSYS2. I suggest using MSYS2
|
||||
Loading…
Add table
Add a link
Reference in a new issue