-
Notifications
You must be signed in to change notification settings - Fork 1
CI CD & Branching Policies
Asaf31214 edited this page Oct 8, 2025
·
1 revision
- Neon DB serverless PostgreSQL for database
- Google Cloud Run for hosting and running the containerized backend application
- Google Cloud Buckets for object storage
- Cloudflare Pages for hosting and serving the frontend application as static content via CDN
- Production: Deployed from the code from the
mainbranch - Development: Deployed from the code from the
devbranch - Test: Deployed from the code from the pull requests opened to
devbranch
- CI/CD Pipelines for backend are only triggered when there is file change under apps/jobboard-backend or that workflow itself.
- CI/CD Pipelines for frontend are only triggered when there is file change under apps/jobboard-frontend or that workflow itself.
- There is a single test environment, meaning only one application can be deployed at a time.
- Since the triggers of frontend and backend are separated, it is possible to deploy to frontend test environment from one pull request and backend test environment from another, as long as they only change code under frontend and backend folder respectively. In other words, if a feature is being developed on two separate branches, one for the frontend and one for the backend changes, they can be deployed back to back to be tested.
- The workflow that deploys code from a pull request to the test environment runs whenever a pull request is opened to
devbranch AND at each push to a branch that has an open pull request todev. So if you have an open pull request todev, beware before pushing new commits to not override the deployments on test environment and interrupt a team member's test. - The test environment has it's own separate database, and may need to be periodically reset, especially if a test involves changing the database schema temporarily.
- Variables that change by environments like API URL, Database URL and Website URL should not be hardcoded at codebase. Instead, they should be pulled from the environment variables.
- To add or change the environment variables of deployed applications, the workflow files should be edited.
- If an environment variable is secret and should not be pushed to Github, it should be managed through either the Secret Manager of Google Cloud, Github Actions or Cloudflare Pages depending on the need.
- The standard procedure of contribution to preserve clean commit history and consistent deployments is as follows:
- The development should start by branching from the
devbranch. - Convention for naming branches is feat/issue#-short-description or ref/..., fix/...
- After the development is complete, a pull request should be opened to
devbranch. It is important to note that the default branch ismain, and pull requests are opened tomainby default unless you change it. Change the base todevbefore clicking the "Create Pull Request". - After the code on pull request is deployed to test environment and it is tested by the reviewers, it is ready to be merged to
dev. - For releases to production, merging commits from
devtomainshould not be via a pull request, as it causes the branchesmainanddevto have different commit history despite having identical code, and causes confusion at pull requests. Instead, it should be done locally bygit checkout main&git merge devand pushed directly to the remotemainbranch.
- Demo Plan
- Requirements
- Elicitation Questions
- Project Plan
- CI/CD & Branching Policies
- MVP Implementation & Planning
- Frontend Testing Suite Documentation
- Lab7: Milestone 2 Demo Preperation
- Lab 8: Requirements Review & Acceptance Planning
Click to expand
- Applying for a Job Posting
- Posting an Anonymous Workplace Review
- Registration and Profile Creation
- Finding a Job by Filters and Application Process
- Requesting a Mentor for Resume Review
- Publishing an Ethical Job Listing
- Requesting a Mentor for Career Guidance
- Seeking Career Advice in the Networking Forum
- Accepting or Declining a Mentorship Request as a Mentor