Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI/CD: Research + Design #36

Open
2 tasks
cyri113 opened this issue May 5, 2023 · 4 comments
Open
2 tasks

CI/CD: Research + Design #36

cyri113 opened this issue May 5, 2023 · 4 comments
Assignees
Labels
100 Points By redeeming the points you'll receive compensation. 35% fiat and the rest is project token.

Comments

@cyri113
Copy link
Collaborator

cyri113 commented May 5, 2023

Description

The existing CI/CD process has gaps and bottlenecks that are stoping the team from effectively delivering quality code into production.

Pain Points

  • There is no linting, automated testing, and security review throughout the CI/CD process.
  • There are no gate (code coverage, maintainability)
  • UAT only happens in staging, where features are no longer isolated. This creates bottlenecks as we are unable to push to production unless all problems are resolved.
  • We do not have the ability to run E2E tests for a specific feature

Considerations

  • More repositories will be created overtime
  • We should aim to make configurations reusable, so that it is easy to add a new repo
  • We should have linting, automated testing (unit + integration), and a security review (need to pick a tool)
  • We are using CodeClimate for test coverage + code review (maintenance) feedback
  • We should not allow a merge if the test coverage is reduced.
  • We want to be able to run automated E2E tests for each feature
  • We want to be able to complete user acceptance testing (UAT) for each feature

Current Repositories

Tasks

  • Research best practices for CI/CD for our micro-service architecture use case
  • Design a CI/CD pipeline diagram that demonstrates different stages and planned technology

Documentation

@cyri113 cyri113 changed the title CI/CD Design CI/CD: Research + Design May 5, 2023
@mehrdadmms mehrdadmms added the 100 Points By redeeming the points you'll receive compensation. 35% fiat and the rest is project token. label May 5, 2023
@cyri113 cyri113 self-assigned this May 5, 2023
@covendev
Copy link
Collaborator

covendev commented May 12, 2023

Approach that can be used:

  1. AWS ECR+AWS CodePipeline+ AWS EC2 / Serverless
  2. Kubernetes+ Github workflows(for pipelines) + AWS EC2/serverless
    Both approaches use GitHub actions in workflow.

Github actions in workflows

@cyri113
Copy link
Collaborator Author

cyri113 commented May 13, 2023

@covendev do we have a pipeline design out yet for review yet?

Personally, I rather stay as platform agnostic as possible. Therefore I would lean towards option 2.

@covendev
Copy link
Collaborator

@covendev do we have a pipeline design out yet for review yet?

Personally, I rather stay as platform agnostic as possible. Therefore I would lean towards option 2.

agree with that approach too. Have updated workflow design in existing miro and also added comments to make it more readable

@covendev
Copy link
Collaborator

@cyri113 cyri113 assigned Behzad-rabiei and unassigned covendev Jun 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
100 Points By redeeming the points you'll receive compensation. 35% fiat and the rest is project token.
Projects
None yet
Development

No branches or pull requests

4 participants