AWS CodePipeline आणि CodeBuild: AWS वर CI/CD सोप्या भाषेत
main merge = SSH hope नको. CI/CD auto build/test/deploy. CodePipeline = stages; CodeBuild = buildspec containers — GitHub Actions च्या शेजारी AWS-native.
या chapter मध्ये तुम्ही काय शिकाल
- CI/CD का
- Pipeline व CodeBuild
- Stages/artifacts/buildspec
- AWS vs GitHub Actions
- Lab, errors, FAQ, interview
1. आधी रोजचं उदाहरण
नोएडा: main push → Pipeline → CodeBuild pytest/docker → ECR → ECS; prod आधी approval. Tests fail = stop.
2. CodePipeline आणि CodeBuild का?
हे का लागतं?
Manual deploy = drift/tests skip. Pipeline: source→build→test→deploy + audit/IAM.
- Clean env builds
- Prod approvals
- Artifacts
- IAM deploy control
3. हे काय आहेत?
हे काय आहे?
CodeBuild: managed + buildspec phases. CodePipeline: source/build/deploy connections.
| Piece | काम |
|---|---|
| Pipeline | Stage workflow |
| Source | Pull code |
| CodeBuild | buildspec run |
| Artifacts | S3 between stages |
| Approval | Human gate |
| buildspec.yml | Build steps |
4. Minimal safe pipeline
कसं करायचं (step by step)
- Protected main.
- buildspec tests fail-fast.
- Privileged only if needed.
- 3 stages.
- Encrypted artifacts.
- Prod approval.
- Least-privilege roles.
- Dependency cache.
- Failure notify.
- sha tags≠latest.
# buildspec.yml sketch
version: 0.2
phases:
install:
commands: ["pip install -r requirements.txt"]
build:
commands: ["pytest -q", "docker build -t $REPO:$CODEBUILD_RESOLVED_SOURCE_VERSION ."]
artifacts:
files: ["**/*"]
5. CodePipeline vs GitHub Actions
| Choice | कधी |
|---|---|
| AWS native | AWS-centric |
| GHA | GitHub-centric |
| Hybrid | Hybrid |
| CodeDeploy | Rolling/blue-green |
6. Multi-industry notes
Banks: approvals+tickets. Startups: GHA→later CodePipeline. Factories: extra test gates.
7. Industries आणि roles
- DevOps ownership
- Fintech gates
- SaaS promote
- EdTech releases
- Templates
8. Lab: CodeBuild + buildspec
Org block नसेल तर ap-south-1 (Mumbai). आधी budget alert.
कसं करायचं (step by step)
- Artifacts bucket.
- CodeBuild project.
- Echo+trivial test.
- Start + logs.
- Optional Pipeline.
Cleanup (billing थांबवा)
- Delete pipeline/project/bucket.
- IAM cleanup.
9. सामान्य errors आणि fixes
प्रत्येक row = खरी चूक. Panic करण्याआधी fix वाचा.
| Error / लक्षण | Fix |
|---|---|
| latest | sha tags. |
| Admin role | Least privilege. |
| Secrets plaintext | SM/SSM. |
| Skip tests | Fail on fail. |
| No approval | Add gate. |
| Privileged always | Only if needed. |
| Overwrite artifacts | Version. |
| Console drift | Pipeline as code. |
| No notify | Notify. |
| Unclean mental model | Pin versions. |
10. Troubleshooting checklist
- Source connection.
- CW logs.
- ECR auth/IAM.
- Artifact size.
- Approval pending.
- Retry IAM.
11. FAQ
प्र. CodeBuild मोफत?
Per minute pricing.
प्र. Jenkins?
Often replaceable.
प्र. Windows?
Some images.
प्र. Multi-account?
Assume-role.
प्र. Local?
Local agent patterns.
प्र. Blue/green?
CodeDeploy/ECS.
12. Interview Q&A
प्र. CodePipeline?
Stage orchestrator.
प्र. CodeBuild?
Managed buildspec runs.
प्र. Artifact?
Between stages.
प्र. Approvals?
Prod human gate.
प्र. Phases?
install/build/...
प्र. GHA vs?
Ecosystem vs AWS-native.
13. Tips — English, मराठी आणि हिंदी
Ravindra Bagale's Tip (EN)
A green pipeline that never runs tests is theatre. Make pytest/npm test fail the build before any deploy stage.
Ravindra Bagale's Tip (MR)
Tests नसलेली green pipeline = theatre. Deploy आधी tests fail-the-build.
Tip (HI)
बिना टेस्ट की हरी pipeline सिर्फ नाटक है — deploy से पहले टेस्ट फेल करो।
घरी करून बघा
- 8-line buildspec.
- ECR push 3 IAM actions.
- 4-stage sketch.
थोडक्यात सांगायचं तर
- Pipeline vs Build.
- buildspec.
- Approvals+IAM.
- Immutable tags.
उजळणी, मुलाखत आणि तुलना cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








अजून cards: Ravi Sir's Cards.
सराव Tasks
Shivneri Schools हा जुन्नर मधला शिक्षण व्यवसाय आहे. Kavita Shinde त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 16
सोपं Pipelines
का: CI/CD.
काय करायचं: Pipelines.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं Build projects
का: Builds.
काय करायचं: Projects.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं Automate
का: CI/CD.
काय करायचं: Automate तर 1.
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
सोपं buildspec
का: Build.
काय करायचं: buildspec तर 1.
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम Pipeline get
का: Stages.
काय करायचं: shivnerischool-app get.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Pipeline state
का: Failed stage.
काय करायचं: shivnerischool-app state.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Batch get
का: Details.
काय करायचं: shivnerischool-build batch.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Start
का: Trigger.
काय करायचं: shivnerischool-build start.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम StartBuild
का: Builder.
काय करायचं: StartBuild shivnerischool-build.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
मध्यम Stages
का: SBD.
काय करायचं: stages Source,Build,Deploy.
- Task मधल्या top-level keys पासून सुरू करा.
- Child keys 2 spaces ने indent करा (tabs नकोत).
- प्रत्येक property मध्ये task मधली value भरा.
- Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.
मध्यम Approval
का: Prod.
काय करायचं: Approval तर 1.
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम Timeout
का: Hang.
काय करायचं: Minutes?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
अवघड Executions
का: History.
काय करायचं: shivnerischool-app executions.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Builds
का: Recent.
काय करायचं: shivnerischool-build builds.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Start pipeline
का: Release.
काय करायचं: StartPipelineExecution shivnerischool-app.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
अवघड buildspec
का: Version.
काय करायचं: version 0.2.
- Task मधल्या top-level keys पासून सुरू करा.
- Child keys 2 spaces ने indent करा (tabs नकोत).
- प्रत्येक property मध्ये task मधली value भरा.
- Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.