feat(ci): add Docker build pipeline with version management
- Add multi-stage Dockerfile with pinned tool versions (Node 24.10.0, Go 1.25.1, Hugo 0.151.0) - Create .env.versions as single source of truth for all tool versions - Add GitHub Actions CI workflow for automated OCI image builds - Multi-arch support (amd64, arm64) - Automatic version loading from .env.versions - Docker registry push with metadata tags - Add Taskfile tasks for local OCI image building and testing - task build:oci-image - Build with version-pinned dependencies - task test:oci-image - Build and test container locally - Pin devbox.json to specific versions matching .env.versions - Add comprehensive documentation (DOCKER.md, VERSIONS.md) - Add helper script (scripts/get-versions.sh) for version extraction This enables consistent development and production environments with identical tool versions across local devbox, Docker builds, and CI/CD.
This commit is contained in:
parent
8e0aea2893
commit
4294524e81
9 changed files with 406 additions and 3 deletions
19
.dockerignore
Normal file
19
.dockerignore
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
.github
|
||||
.gitignore
|
||||
.vscode
|
||||
.devbox
|
||||
.devcontainer
|
||||
node_modules
|
||||
public
|
||||
resources
|
||||
tmp
|
||||
*.md
|
||||
!content/**/*.md
|
||||
TESTING.md
|
||||
Taskfile.yml
|
||||
devbox.json
|
||||
devbox.lock
|
||||
.hugo_build.lock
|
||||
.htmltest.yml
|
||||
.htmlvalidate.json
|
||||
.markdownlint.json
|
||||
Loading…
Add table
Add a link
Reference in a new issue