aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2024-01-08 20:52:31 +0200
committerGitHub <noreply@github.com>2024-01-08 20:52:31 +0200
commitc25fd6299f2404f375d4e6bc461856db669a26a5 (patch)
treef1441385bae5a67ebc253e98ee35f2a351d75e44
parent9aca1ce669eb23b734670640a90cc58adeb48807 (diff)
downloadpico-web-c25fd6299f2404f375d4e6bc461856db669a26a5.tar
pico-web-c25fd6299f2404f375d4e6bc461856db669a26a5.tar.gz
pico-web-c25fd6299f2404f375d4e6bc461856db669a26a5.zip
Update README.md (#4) (#5)v0.2.0
Added info from issue to production deployment
-rw-r--r--README.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/README.md b/README.md
index d1b2b9d..be2b15b 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,26 @@ The userinfo section is analogous to subdomains in normal web applications.
It's assumed that all pages are written in Markdown so the client adds special "rendering" like hyperlinks and bold text (via ANSI escape sequences).
The server is configured to send pages only in allowed directories, and can handle multiple directories with custom error pages.
+## From issue to production
+
+![image](https://github.com/Syndamia/pico-web/assets/46843671/d7ae678a-e813-45c6-afa6-9acf05129e88)
+
+1. A [GitHub issue](https://github.com/Syndamia/pico-web/issues) is created when something needs to be added/changed in the project
+2. Then a developer makes the appropriate branch (which I call the "feature branch"), where they push updates to the codebase.
+ On every commit a small pipeline is ran, executing all tests and static analysis.
+3. Upon completion, a merge request is made to the `dev` branch. After the GitHub workflow is successful and a mandatory review, it will be merged.
+4. Then, on the new commit, a new workflow is started on the `dev` branch, doing again the tests and static analysis, alongside the security analysis.
+ Afterwards, the development binaries are built and the [development Docker image](https://hub.docker.com/r/syndamia/pico-web-dev) is deployed.
+5. After enough changes have accumulated, another pull request is made, from `dev` to `main` (PRs to `main` are only done from `dev`).
+ On successful workflow and mandatory review, the changes can be merged.
+6. Finally, a pipeline from the `main` branch will be ran, deploying the [production server Docker image](https://hub.docker.com/r/syndamia/pico-web-server) and creating a new GitHub release.
+
+Although there is no deployment to a managed kubernetes cluster (too expensive), a Deployment with the [demo](./demo) files is available:
+
+```bash
+kubectl apply -f demo-production-server-deployment.yaml
+```
+
## Building and usage
Build the binaries: