Skip to content

A practical project showcasing Continuous Integration (CI) and Continuous Delivery (CD) for React Native applications. Learn to automate testing, building, and deployment processes using popular CI/CD tools. Ideal for developers looking to streamline their app release workflows.

Notifications You must be signed in to change notification settings

Abdelrahman-Yasser-1/ReactNativeCICD

Repository files navigation

ReactNativeCICD 🚀

Udemy Course

📋 Table of Contents

ReactNativeCICD is a project developed as part of the Master CI/CD for React Native course. The project focuses on setting up Continuous Integration and Continuous Delivery pipelines for React Native applications, enabling automated workflows for testing, building, and deployment.

📖 Course Overview

This project demonstrates how to streamline your React Native development process by setting up CI/CD pipelines. You can see screenshots for building process and badges for building status.

⚠️ Important Note:

In this course, the instructor uses Visual Studio App Center for setting up CI/CD pipelines. However, please note that Visual Studio App Center is scheduled for retirement on March 31, 2025. For more information and recommended alternatives, visit Visual Studio App Center's official website.

The CI/CD principles covered in this course are versatile and can be applied with various tools and services, so the knowledge you gain here will remain valuable beyond App Center. You’ll be able to implement similar CI/CD workflows with alternative platforms such as GitHub Actions, Bitrise, or CircleCI.

✨ Key Features

  • Hands-on implementation of CI/CD pipelines.
  • Automated testing, building, and deploying React Native apps.
  • Use of tools like AppCenter.
  • Workflows optimized for both Android and iOS.

🛠️ Tools & Technologies

  • Git: Version Control System (VCS).
  • AppCenter: Continuous integration and delivery platform.

📚 What You'll Learn

  • How to create CI/CD pipelines for React Native apps.
  • Automating the entire build-test-deploy process.

💡 Why CI/CD Matters

Continuous Integration (CI) and Continuous Delivery (CD) ensure that:

  • Your app is always production-ready.
  • Bugs are caught early with automated testing.
  • Manual deployment processes are minimized.
  • Features are delivered faster with confidence.

🎯 Target Audience

This project is ideal for:

  • React Native developers wanting to automate their app release processes.
  • Engineers interested in learning CI/CD pipelines for mobile apps.
  • Developers aiming to always keep their app ready for production.

🌳 Branching Structure/Guidelines

  • main: Stable, production-ready code.
  • develop: Latest development features, ready for testing.
  • test: Testing branch.
  • feature/<name>: New features should branch off develop.

🗃️ Project Structure

🗃️ ReactNativeCICD
┣ 📂__tests__
┣ 📂android
┣ 📂app
┃ ┗ 📂src
┃   ┗ 📂main
┃     ┣ 📂assets
┃     ┗ ┗ 📜appcenter-config.json # AppCenter configuration file (Contains Android app secret)
┣ 📂ios
┣ ┗ 📜AppCenter-Config.plist  # AppCenter configuration file (Contains iOS app secret)
┣ 📂src
┃ ┣ 📂AppContent
┃ ┃ ┗ 📜App.tsx
┃ ┣ 📂components
┃ ┃ ┣ 📂Button
┃ ┃ ┣ 📂Divider
┃ ┃ ┣ 📂Screen
┃ ┃ ┣ 📂Text
┃ ┃ ┗ 📜index.ts
┃ ┣ 📂enums
┃ ┣ 📂Navigation
┃ ┣ 📂Providers
┗ ┗ 📂screens
    ┣ 📂About
    ┣ 📂AppCenter
    ┣ 📂Counter
    ┣ 📂Home
    ┗ 📜index.ts

🚀 Getting Started

Follow these steps to clone the project and set up CI/CD for your React Native app:

  1. Clone the repository:

    git clone https://github.com/your-repo/ReactNativeCICD.git
  2. Change directory to project:

    cd ReactNativeCICD
  3. Install dependencies:

    For npm users:

    npm install

    For Yarn users:

    yarn install
  4. iOS Setup: (For users running on iOS)

    If you're developing on iOS, make sure to install CocoaPods dependencies. Navigate to the ios directory and run:

    cd ios
    pod install
    cd ..

Now, you can run your project on an iOS simulator or device.

📺 Course Link

Start mastering CI/CD for React Native by enrolling in the full course here:

Enroll Now - Master CI/CD for React Native


📹 Additional Learning Resource

For more insights into React Native and CI/CD practices, check out this YouTube Playlist on CI/CD in Mobile Development. This playlist covers key concepts and practical steps to help you set up and optimize CI/CD for your React Native projects.

YouTube


🌟 Give a Star!

If you found this project helpful or informative, feel free to star this repository and share it with others!


About

A practical project showcasing Continuous Integration (CI) and Continuous Delivery (CD) for React Native applications. Learn to automate testing, building, and deployment processes using popular CI/CD tools. Ideal for developers looking to streamline their app release workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published