diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..03b3aca2 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,22 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - main + - task-3-cicd + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Deploy Task 3 website to GitHub Pages + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./gokulpr-1@mulearn/Task-3 + publish_branch: main + keep_files: true diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..ac8146a0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,74 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "name": "Attach", + "port": 9229, + "request": "attach", + "skipFiles": [ + "/**" + ], + "type": "node" + }, + { + "name": "Attach to Integrated Browser", + "request": "attach", + "type": "editor-browser", + "webRoot": "${workspaceFolder}" + }, + { + "name": "Launch Edge", + "request": "launch", + "type": "msedge", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + }, + { + "name": "Launch Chrome", + "request": "launch", + "type": "chrome", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + }, + { + "name": "Attach by Process ID", + "processId": "${command:PickProcess}", + "request": "attach", + "skipFiles": [ + "/**" + ], + "type": "node" + }, + + { + "name": "Launch Chrome", + "request": "launch", + "type": "chrome", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + }, + { + "name": "Attach to Chrome", + "port": 9222, + "request": "attach", + "type": "chrome", + "webRoot": "${workspaceFolder}" + }, + + + + + + + { + "type": "chrome", + "request": "launch", + "name": "Open index.html", + "file": "/workspaces/Shipyard-Foundations/Task-3/index.html" + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 3955119a..28b7e8cd 100644 --- a/README.md +++ b/README.md @@ -1 +1,96 @@ -# Shipyard-Foundations \ No newline at end of file + + + + + +CI/CD Assignment + + + + + +
+

πŸš€ CI/CD Pipeline Basics

+

Website deployed using GitHub Actions + GitHub Pages

+ +

Name: GOKUL P R

+

MUID: gokulpr-1@mulearn

+ + +
+ + diff --git a/Task-1/gokulpr-1@mulearn/README.md b/Task-1/gokulpr-1@mulearn/README.md new file mode 100644 index 00000000..63c35bff --- /dev/null +++ b/Task-1/gokulpr-1@mulearn/README.md @@ -0,0 +1,50 @@ +# Hi there! I'm Gokul P R πŸ‘‹ + +### πŸš€ DevOps & Cybersecurity Learner | Tech Enthusiast + +I am a B.Tech student passionate about building real-world projects and mastering modern technologies. I enjoy exploring how software systems work and continuously improving my skills in development, version control, and problem-solving. Currently, I am deepening my knowledge in Git/GitHub workflows and DevOps fundamentals. + +--- + +### πŸ› οΈ Technical Stack + +- **Languages:** Python +- **Tools:** Git, GitHub, +- **Cybersecurity:** TryHackMe (SOC Level 1 Certified), NPTEL (Cyber Security & Privacy) +- **Areas of Interest:** DevOps, Cybersecurity, Mechanical Engineering Systems + +--- + +### πŸš€ Projects & Experience + +- **Campus Ambassador:** Served as a Campus Ambassador for programs at IIT Delhi and IIT Gandhinagar (Blithchron 2026). +- **Resume Analyzer:** A project that extracts and analyzes resume data using Python logic. +- **Elite Hack 1.0:** Participated and built a collaborative solution during the hackathon. +- **SOC Level 1:** Completed the Security Operations Center path on TryHackMe. + +--- + +### 🌍 Community & Learning + +- Active learner in tech communities (Β΅Learn). +- Passionate about open-source contributions and collaborative building. +- Focus on bridging the gap between Mechanical Engineering and Software systems. + +--- + +### πŸ“ˆ Current Focus + +- Mastering CI/CD pipelines and DevOps workflows. +- Solving algorithmic problems with Python. +- Building a strong foundation in Cybersecurity. + +--- + +### πŸ“« Connect with Me + +- **GitHub:** [github.com/GOKUL-P-R](https://github.com/GOKUL-P-R) +- **LinkedIn:** (https://www.linkedin.com/in/gokul-p-r-430b5b365?utm_source=share_via&utm_content=profile&utm_medium=member_android) + +--- + +✨ *"Consistent learning and building is the key to success."* diff --git a/Task-2/gokulpr-1@mulearn/Dockerfile b/Task-2/gokulpr-1@mulearn/Dockerfile new file mode 100644 index 00000000..4846c4b7 --- /dev/null +++ b/Task-2/gokulpr-1@mulearn/Dockerfile @@ -0,0 +1,4 @@ +FROM python:3.9-slim +WORKDIR /app +COPY script.py . +CMD ["python", "script.py"] diff --git a/Task-2/gokulpr-1@mulearn/script.py b/Task-2/gokulpr-1@mulearn/script.py new file mode 100644 index 00000000..e6d64ba0 --- /dev/null +++ b/Task-2/gokulpr-1@mulearn/script.py @@ -0,0 +1,7 @@ +import time + +print("πŸš€ Container Started") + +while True: + print("Hello World") + time.sleep(5) diff --git a/gokulpr-1@mulearn/Task-3/index.html b/gokulpr-1@mulearn/Task-3/index.html new file mode 100644 index 00000000..5f87c3da --- /dev/null +++ b/gokulpr-1@mulearn/Task-3/index.html @@ -0,0 +1,53 @@ + + + + + + Shipyard Foundations - CI/CD Demo + + + +
+

Shipyard Foundations CI/CD Demo

+

+ This website is deployed automatically using GitHub Actions and GitHub Pages. +

+

Task 3: CI/CD Pipeline Basics

+

+ Name: Gokul P R
+ MUID: gokulpr-1@mulearn +

+
+ + diff --git a/gokulpr-1@mulearn/Task-3/submission.md b/gokulpr-1@mulearn/Task-3/submission.md new file mode 100644 index 00000000..e4f6f1c0 --- /dev/null +++ b/gokulpr-1@mulearn/Task-3/submission.md @@ -0,0 +1,13 @@ +# CI/CD Assignment Submission + +Name: Gokul P R +muid: gokulpr-1@mulearn + +## πŸ”— Repository Link +https://github.com/GOKUL-P-R/Shipyard-Foundations + +## 🌐 Live Website +https://GOKUL-P-R.github.io/Shipyard-Foundations/ + +## 🌐 Git Actions Link +https://github.com/GOKUL-P-R/Shipyard-Foundations/actions diff --git a/gokulpr-1@mulearn/Task-4/deployment.yaml b/gokulpr-1@mulearn/Task-4/deployment.yaml new file mode 100644 index 00000000..439b4a81 --- /dev/null +++ b/gokulpr-1@mulearn/Task-4/deployment.yaml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:latest + ports: + - containerPort: 80 \ No newline at end of file diff --git a/gokulpr-1@mulearn/Task-4/service.yaml b/gokulpr-1@mulearn/Task-4/service.yaml new file mode 100644 index 00000000..ca668397 --- /dev/null +++ b/gokulpr-1@mulearn/Task-4/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx-service +spec: + type: NodePort + selector: + app: nginx + ports: + - protocol: TCP + port: 80 + targetPort: 80 + nodePort: 30007 \ No newline at end of file