Skip to main content

Command Palette

Search for a command to run...

Github Action part 2

Published
•3 min read•View as Markdown

Great, tumhara workflow ab sahi hai. Ab simple words me samjha deta hoon ki yeh file kya karti hai, aur future me tumhe kya cheez repeat karni padegi aur kya change kar sakte ho.

Ye GitHub Actions file kya karti hai

1️⃣ name: Build WF

Workflow ka naam hai. GitHub UI me ye naam dikhega.
Tum isko kuch bhi rakh sakte ho, jaise CI Pipeline ya Java Build.


2️⃣ on: – Kab chalegi pipeline

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  workflow_dispatch:
  schedule:
    - cron: "10 14 * * 1-5"

Iska matlab:

  • ✅ push → jab bhi main branch me code push karoge

  • ✅ pull_request → jab PR banega main ke liye

  • ✅ workflow_dispatch → tum manually “Run workflow” button se chala sakte ho

  • ✅ schedule → har weekday 2:10 PM pe auto run hogi

Tumhe hamesha ye sab use karna zaroori nahi hai.
Agar chaho to schedule hata sakte ho, ya sirf push rakh sakte ho.


3️⃣ jobs: – Actual kaam yahan hota hai

Tumhare 2 jobs hain:

🔹 Job 1: build

jobs:
  build:
    runs-on: ubuntu-latest

Matlab ye job Ubuntu machine pe chalegi.

Steps:

- name: Checkout Code
  uses: actions/checkout@v5

👉 Repo ka code machine pe le aata hai

- name: Setup Java
  uses: actions/setup-java@v4

👉 Java 21 install karta hai

- name: Maven Build
  run: mvn clean install -DskipTests

👉 Project build karta hai (tests skip karke)


🔹 Job 2: testing

testing:
  runs-on: ubuntu-latest
  needs: build

👉 needs: build ka matlab:
Pehle build complete hoga, tab hi testing chalega

Steps:

  • Code checkout

  • Java setup

  • Tests run

  • Checkstyle run


❓ Kya mujhe hamesha yehi same script likhni padegi?

👉 Short answer: Base structure same rahega, project ke hisaab se thoda change hoga.

Same rahega (mostly)

Ye cheezein har project me common hoti hain:

- uses: actions/checkout@v5
- uses: actions/setup-java@v4
runs-on: ubuntu-latest

Change hoga (project ke hisaab se)

Ye part change karoge:

  • Java version (17, 21, etc.)

  • Build command

    • Maven: mvn clean install

    • Gradle: ./gradlew build

    • Node: npm install && npm test

Example: Node project ke liye:

- name: Install deps
  run: npm install

- name: Run tests
  run: npm test

❓ Kya main kisi bhi project par GitHub Actions use kar sakta hoon?

👉 Haan, almost har type ke project ke liye:

Project TypeGitHub Actions possible?Example
Java (Maven/Gradle)✅ Yestumhara case
React / Node.js✅ Yesnpm build
Python✅ Yespytest
Docker✅ Yesdocker build
CI/CD to AWS✅ Yesdeploy pipelines
Android✅ Yesgradle build

Bas commands change hoti hain.


❓ Ye kaam real companies me hota hai?

👉 100% yes.
Companies isi cheez ko bolti hain:

  • CI pipeline

  • Build automation

  • Test automation

  • DevOps basic skill

Ye tumhare resume me strong point hai.