Development¶
Overview¶
Bagian ini menjelaskan workflow pengembangan source dan content Personal Site. Hugo digunakan hanya pada development dan CI; NGINX runtime hanya menerima hasil static build.
Repository Responsibilities¶
personal-site/
βββ content/ Hugo content
βββ layouts/ template override
βββ static/ static assets
βββ themes/ Hugo theme submodule
βββ hugo.toml Hugo configuration
βββ Jenkinsfile CI pipeline
βββ Jenkinsfile.cd CD pipeline
βββ deployment/
βββ CONFIG shared non-secret configuration
βββ deploy.sh application runtime launcher
Development Workflow¶
Create or update content
β
Run local Hugo server
β
Review page and assets
β
Commit and push to Gitea
β
Jenkins CI builds immutable artifact
Local Development¶
-
Clone repository and initialize submodules.
-
Run Hugo development server.
-
Open the local URL displayed by Hugo and review the changes.
-
Validate a production-style build.
The generated public/ directory is build output and should not become the
source of truth. CI generates a clean build for every release candidate.
Content Development¶
- Store publishable pages and articles under
content/. - Keep filenames and front matter consistent with the Hugo content model.
- Store files that must be copied directly under
static/. - Use layout overrides only when theme configuration is insufficient.
- Review internal links, images, metadata, and responsive rendering before push.
Source Control Workflow¶
- Keep source, content, pipeline definitions, and deployment configuration in the same repository so a change can be traced to a commit.
- Do not store MinIO passwords or other secrets in the repository.
- Commit the Hugo theme reference when the submodule revision changes.
- Use CI outputβnot a manually generated archiveβas the deployment artifact.