{"id":22242270,"url":"https://github.com/sherrywahla/labs_devops","last_synced_at":"2025-03-25T10:25:49.707Z","repository":{"id":265884870,"uuid":"896471257","full_name":"Sherrywahla/labs_devops","owner":"Sherrywahla","description":"The following repository is in conjuction with devops lab practicals done for school work projects","archived":false,"fork":false,"pushed_at":"2024-12-01T23:50:54.000Z","size":27,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T09:41:49.111Z","etag":null,"topics":["aws-ec2","aws-s3","cd","ci","containerization","continuous-deployment","devops","docker","monitoring","monitoring-automation"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sherrywahla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-30T13:02:08.000Z","updated_at":"2024-12-01T23:29:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ad552da-1b40-4cd8-ade4-f41130a7d5d2","html_url":"https://github.com/Sherrywahla/labs_devops","commit_stats":null,"previous_names":["sherrywahla/labs_devops"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherrywahla%2Flabs_devops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherrywahla%2Flabs_devops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherrywahla%2Flabs_devops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherrywahla%2Flabs_devops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sherrywahla","download_url":"https://codeload.github.com/Sherrywahla/labs_devops/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245442549,"owners_count":20616039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ec2","aws-s3","cd","ci","containerization","continuous-deployment","devops","docker","monitoring","monitoring-automation"],"created_at":"2024-12-03T04:15:20.427Z","updated_at":"2025-03-25T10:25:49.691Z","avatar_url":"https://github.com/Sherrywahla.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevOps Labs\n\nThis repository contains the materials, configurations, and scripts associated with the **DevOps Lab Practical** exercises completed as part of school work projects. These practicals focus on core DevOps principles such as version control, CI/CD pipelines, and containerization, using various tools like GitHub, GitLab, and Docker.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Configuration](#configuration)\n- [Lab Exercises](#lab-exercises)\n  - [Lab 1: Version Control with GitHub](#lab-1-version-control-with-github)\n  - [Lab 2: CI/CD with GitHub Actions](#lab-2-cicd-with-github-actions)\n  - [Lab 3: CI/CD with GitLab](#lab-3-cicd-with-gitlab)\n  - [Lab 4: Docker](#lab-4-docker)\n- [Technologies Used](#technologies-used)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Overview\n\nThis repository contains various practical exercises designed to demonstrate and implement essential DevOps workflows. The labs include practical exercises focused on **version control**, **CI/CD pipelines**, and **containerization**, utilizing tools like **GitHub**, **GitLab**, and **Docker**. By completing these labs, students can gain hands-on experience with DevOps practices in modern software development environments.\n\n## Getting Started\n\nTo get started with the labs, you need to have the following tools installed on your local machine.\n\n### Prerequisites\n\nBefore starting with the practical labs, ensure you have the following software installed:\n\n- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (for version control)\n- [Docker](https://www.docker.com/get-started) (for containerization)\n- [GitHub Account](https://github.com/) (for GitHub Actions)\n- [GitLab Account](https://about.gitlab.com/) (for GitLab CI/CD)\n\n### Installation\n\nClone the repository to your local machine:\n\n```bash\ngit clone https://github.com/Sherrywahla/labs_devops.git\ncd devops-labs\n```\n\nFollow the setup instructions in each lab's respective folder for specific setup steps.\n\n### Configuration\n\nEach lab folder contains configuration files (e.g., `.github/`, `.gitlab-ci.yml`, `Dockerfile`, etc.) that you may need to adjust based on your environment. Pay attention to any `.env` or configuration files for environment-specific variables.\n\n## Lab Exercises\n\nHere’s an overview of the labs included in this repository:\n\n### Lab 1: Version Control with GitHub\n\n- **Objective:** Learn how to use Git for version control and collaborate using GitHub.\n- **Key Steps:**\n  1. Set up a Git repository for your project.\n  2. Learn Git commands for version control: clone, commit, push, pull, etc.\n  3. Push your code to GitHub for collaboration and version tracking.\n\n**Key Concepts Covered:**\n- Version Control with Git\n- Collaboration via GitHub\n- Branching and Merging\n\n### Lab 2: CI/CD with GitHub Actions\n\n- **Objective:** Set up a Continuous Integration/Continuous Deployment (CI/CD) pipeline using GitHub Actions.\n- **Key Steps:**\n  1. Create a `.github` directory and a `workflow` file.\n  2. Automate build, test, and deployment processes with GitHub Actions.\n  3. Trigger workflows based on GitHub events (e.g., push, pull requests).\n\n**Key Concepts Covered:**\n- CI/CD Pipeline with GitHub Actions\n- Automation with Workflows\n- Integration with GitHub Repositories\n\n### Lab 3: CI/CD with GitLab\n\n- **Objective:** Set up a CI/CD pipeline using GitLab's integrated CI/CD system.\n- **Key Steps:**\n  1. Create a `.gitlab-ci.yml` file to define CI/CD jobs.\n  2. Automate build, test, and deployment processes on GitLab.\n  3. Integrate GitLab CI/CD with Docker containers.\n\n**Key Concepts Covered:**\n- CI/CD with GitLab CI\n- Automating Tests, Builds, and Deployments\n- GitLab Pipelines and Runners\n\n### Lab 4: Docker\n\n- **Objective:** Learn how to containerize applications using Docker.\n- **Key Steps:**\n  1. Write a `Dockerfile` to containerize your application.\n  2. Build and run Docker images locally.\n  3. Push the Docker image to a container registry (e.g., Docker Hub).\n\n**Key Concepts Covered:**\n- Docker and Containerization\n- Writing Dockerfiles\n- Building and Running Docker Containers\n- Docker Hub for Image Distribution\n\n## Technologies Used\n\n- **Git:** Distributed version control system for tracking code changes.\n- **GitHub:** Web-based platform for version control and collaboration, utilizing Git.\n- **GitLab:** Web-based DevOps platform that provides Git repositories, CI/CD pipelines, and more.\n- **GitHub Actions:** CI/CD automation service integrated into GitHub.\n- **GitLab CI:** GitLab’s built-in CI/CD system for automating workflows.\n- **Docker:** Containerization platform for packaging applications into portable containers.\n\n## Contributing\n\nContributions to this repository are welcome. If you would like to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature-branch`).\n3. Commit your changes (`git commit -am 'Add new feature'`).\n4. Push to the branch (`git push origin feature-branch`).\n5. Create a new pull request.\n\nPlease make sure to follow the [code of conduct](CODE_OF_CONDUCT.md) and [contribution guidelines](CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsherrywahla%2Flabs_devops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsherrywahla%2Flabs_devops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsherrywahla%2Flabs_devops/lists"}