<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pratik Kumar Panda</title>
    <description>The latest articles on DEV Community by Pratik Kumar Panda (@devppratik).</description>
    <link>https://dev.to/devppratik</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F478148%2F083e74d5-605c-4276-8f7e-930ea58955a3.jpeg</url>
      <title>DEV Community: Pratik Kumar Panda</title>
      <link>https://dev.to/devppratik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devppratik"/>
    <language>en</language>
    <item>
      <title>PowerShell Equivalents of Common Bash Commands</title>
      <dc:creator>Pratik Kumar Panda</dc:creator>
      <pubDate>Sat, 12 Jun 2021 14:53:21 +0000</pubDate>
      <link>https://dev.to/devppratik/powershell-equivalents-of-common-bash-commands-32mo</link>
      <guid>https://dev.to/devppratik/powershell-equivalents-of-common-bash-commands-32mo</guid>
      <description>&lt;p&gt;Hello Everyone👋&lt;br&gt;
I made a quick cheat-sheet for PowerShell equivalent of common Bash Commands. PowerShell is also a very powerful shell but can be confusing for people who are acquainted with Bash/ZSH.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwwal6j4m2zxhj0bxhc0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwwal6j4m2zxhj0bxhc0.png" alt="Cheat Sheet Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope this helps. I will make a few more cheat-sheets and dive into the various commands in more detail.&lt;/p&gt;

&lt;p&gt;Thanks for reading 🤝🤝&lt;br&gt;
I would ❤ to connect with you at &lt;a href="https://twitter.com/devppratik" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/devppratik/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/devppratik" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know in the comment section if you have any doubt or feedback. Feedback is appreciated!!&lt;/p&gt;

&lt;p&gt;See you in my next post!! Stay Safe😷&lt;/p&gt;

&lt;p&gt;Happy Learning! 😃😃&lt;/p&gt;

</description>
      <category>linux</category>
      <category>bash</category>
      <category>powershell</category>
      <category>scripting</category>
    </item>
    <item>
      <title>Deploy a React Application to Firebase Hosting using GitHub Actions</title>
      <dc:creator>Pratik Kumar Panda</dc:creator>
      <pubDate>Mon, 17 May 2021 13:50:41 +0000</pubDate>
      <link>https://dev.to/devppratik/deploy-a-react-application-to-firebase-hosting-using-github-actions-1ocp</link>
      <guid>https://dev.to/devppratik/deploy-a-react-application-to-firebase-hosting-using-github-actions-1ocp</guid>
      <description>&lt;p&gt;Deploying applications can be a tedious task. This includes integrating, optimizing, merging, testing and deploying the codes to make sure it runs in production.&lt;/p&gt;

&lt;p&gt;Using CI/CD tools can help us streamline the process. Though there are several CI/CD tools available in the market like Jenkins, CircleCI etc these can be a bit difficult to set up. So why not look at a tool that is easy to set up and free of cost to use(mostly) -  &lt;strong&gt;Github Actions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this article, we will be looking at Github Actions to build and deploy React Application to Firebase Hosting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Continuous Integration and Continuous Deployments
&lt;/h3&gt;

&lt;p&gt;*&lt;em&gt;Continuous Integration: *&lt;/em&gt; It refers to the process of adding a new piece of code to a shared repository (like GitHub) by one or more developers, which is followed by a series of automated tests and checks to make sure that the new code doesn’t break the existing stable code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous Deployment or Continuous Delivery:&lt;/strong&gt; It is a process of building and delivering the software with automated testing, building and deployment process. Each build can be triggered based on some event or can be scheduled based on time.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Actions
&lt;/h3&gt;

&lt;p&gt;GitHub Actions is a CI/CD tool provided by GitHub that helps us to automate various processes like Testing, Integration or Deployment. Few advantages of using Github Actions is it is ready to use, no extra setup required and the Integration and Deployment scripts are part of the actual repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How GitHub Actions Works?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To automate a set of tasks, we need to create workflows in a GitHub repository. GitHub looks for YAML files inside of the .github/workflows directory. Events like commits, the opening or closing of pull requests, or updates to the project’s wiki, can trigger the start of a workflow. &lt;/li&gt;
&lt;li&gt;Workflows are composed of jobs, which run at the same time by default. Each job should represent a separate part of the workflow. Jobs can be configured to depend on the success of other jobs in the same workflow. For example, failing tests can prevent deploying to production.&lt;/li&gt;
&lt;li&gt;Jobs contain a list of steps, which GitHub executes in sequence. A step can be a set of shell commands or an action, which is a pre-built, reusable step implemented either in TypeScript or inside a container. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is development mode and production mode?
&lt;/h3&gt;

&lt;p&gt;When building a React App, you might want to use features like hot deploy to see the changes instantly, or to debug certain features in the browser. But you want to minimise the code and optimise it for better performance during production. We will be discussing how to build the production build and deploy it to Firebase Hosting in this article&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip&lt;/strong&gt; - Use React Dev Tools to debug your application in development mode&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;p&gt;To follow along with this tutorial, you should have a basic knowledge of the following :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript and React&lt;/li&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;Terminal (Mac/Linux)/Command prompt (Windows)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Setting up a React project
&lt;/h3&gt;

&lt;p&gt;We’ll use Create React App to get our React app up and running. Run the following commands in your terminal to set up a sample React app.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app react-cd-sample
cd react-cd-sample
npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will spin up the default React Application in your localhost&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting up a Firebase project
&lt;/h3&gt;

&lt;p&gt;To set up a firebase account, go to Firebase Console, click on &lt;strong&gt;Add Project&lt;/strong&gt; and fill in the details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485774463%2FYfCTsHm5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485774463%2FYfCTsHm5a.png" alt="Screenshot_20210508_195110.png"&gt;&lt;/a&gt;&lt;br&gt;
After setting up the project, add a web app from the dashboard and fill in the details. &lt;strong&gt;Check on Also Setup Firebase Hosting for this app&lt;/strong&gt; to enable Hosting services&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485785041%2FVwE2r6FMn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485785041%2FVwE2r6FMn.png" alt="Screenshot_20210508_195259.png"&gt;&lt;/a&gt;&lt;br&gt;
Once you’re done, launch your terminal and run the command below to install the firebase-CLI globally.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g firebase-tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Firebase CLI is a tool for managing, viewing, and deploying Firebase projects.&lt;/p&gt;

&lt;p&gt;The next step is to initialize Firebase in the React project you created. Navigate to the root of your project on your terminal and run the command to log in to Firebase.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;firebase login:ci
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above command will launch your browser and open a Google authentication page. After successful authentication, a token will display on your terminal. Copy it and keep in a safe place because you’ll need it when it comes time to create a workflow.&lt;/p&gt;

&lt;p&gt;After successful authentication, run the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;firebase init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485793330%2FKS3YNZAtX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485793330%2FKS3YNZAtX.png" alt="Screenshot_20210508_195850.png"&gt;&lt;/a&gt;&lt;br&gt;
This initializes firebase and allows you to choose the products you want to integrate into your React project. As noted earlier, for this tutorial we’ll focus on hosting.&lt;/p&gt;

&lt;p&gt;After choosing &lt;code&gt;hosting&lt;/code&gt;, you’ll be prompted to configure the hosting options.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input &lt;code&gt;build&lt;/code&gt; as the public directory since that’s the default directory React serves after building a project&lt;/li&gt;
&lt;li&gt;Input &lt;code&gt;No&lt;/code&gt; on the configure as a single-page app prompt to allow React to control that behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485820704%2F_V5kut7hm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485820704%2F_V5kut7hm.png" alt="Screenshot_20210508_195915.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If it prompts you to overwrite any files, input &lt;code&gt;no&lt;/code&gt; since you don’t want it to rewrite files generated by React. After the process is complete, two files are generated: &lt;code&gt;firebase.json&lt;/code&gt; and &lt;code&gt;.firebaserc&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;firebase.json&lt;/code&gt; file contains information on the location of files, assets, and settings related to the project. The &lt;code&gt;.firebaserc&lt;/code&gt; file stores project aliases, which can be used to set different hosting options for the same application — one for staging and the other for production.&lt;/p&gt;
&lt;h3&gt;
  
  
  Setting Up GitHub Repository for GitHub Actions
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To get started, you’ll need a GitHub repository to house your project, so head over to GitHub and create one. Add the repository to the project, commit the changes, and push the project to GitHub.&lt;/li&gt;
&lt;li&gt;Next, go to your &lt;strong&gt;Settings&lt;/strong&gt; Tab in the repository and click on &lt;strong&gt;Secrets&lt;/strong&gt;, then &lt;strong&gt;New Repository Secret&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485863797%2FNao1ygsDB.png" alt="Screenshot_20210508_171015.png"&gt;
&lt;/li&gt;
&lt;li&gt; Input &lt;code&gt;FIREBASE_TOKEN&lt;/code&gt; as the name and the token you copied earlier as the value. After doing that, click Add secret to save the environment variable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485907320%2FeEJ1HaPlY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485907320%2FeEJ1HaPlY.png" alt="Screenshot_20210508_171107.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Setting up the Workflow
&lt;/h3&gt;

&lt;p&gt;After you have added the secret variable in your repository and pushed the current code to GitHub it is time to set up the Workflow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Head over to the Actions Tab in your GitHub repo. Click on Set up a workflow yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485919107%2FpzVCiAkLU.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485919107%2FpzVCiAkLU.png" alt="Screenshot_20210508_171144.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Change the name to filename to firebase.yml&lt;/li&gt;
&lt;li&gt;Replace the pre-provided code with the below code
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Firebase CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x]

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - name: npm install and build
      run: |
        npm install
        npm run build
    - name: Archive Build
      uses: actions/upload-artifact@v2
      with:
        name: build
        path: build

  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Download Build
        uses: actions/download-artifact@v2
        with:
          name: build
          path: build
      - name: Depoy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620486178498%2FYjldnq5VU.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620486178498%2FYjldnq5VU.png" alt="Screenshot_20210508_171315.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Now save the file by committing the file to the repo.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620485952436%2FjKXEu3Cjc.png" alt="Screenshot_20210508_171644.png"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Deploying to Firebase
&lt;/h3&gt;

&lt;p&gt;Click on the Actions tab on the repository and watch the actions as it runs. Once it successfully executes, the project is deployed to Firebase. Visit your .firebaseapp.com to view your project.&lt;/p&gt;

&lt;p&gt;The action runs every time there is a push to the main branch or a pull request is merged. &lt;/p&gt;
&lt;h3&gt;
  
  
  Let's Dig Deeper - An Explanation of the Workflow firebase.yml file
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Firebase CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This block specifies that the workflow Firebase CI will run when there is a push or a pull request on the main branch.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This block of code specifies the jobs that are required to be run on the workflow. The workflow will be executed on &lt;code&gt;ubuntu&lt;/code&gt; and the version of Nodejs to be used is &lt;code&gt;14&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - name: npm install, build and test
      run: |
        npm install
        npm run build
    - name: Archive Build
      uses: actions/upload-artifact@v2
      with:
        name: build
        path: build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It describes the steps that are run in order during the job &lt;code&gt;build&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;code&gt;actions/checkout@v2&lt;/code&gt; - This action checks out your repository under &lt;code&gt;$GITHUB_WORKSPACE&lt;/code&gt;, so your workflow can access it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;actions/setup-node@v1&lt;/code&gt; -  This action sets by node environment for use&lt;/li&gt;
&lt;li&gt;This command executes the npm scripts in the shell. &lt;code&gt;npm install&lt;/code&gt; installs all the dependency that are required to build the project
&lt;code&gt;npm run build&lt;/code&gt; builds the production-ready &lt;code&gt;build&lt;/code&gt; folder from the React project&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;actions/upload-artifact@v2&lt;/code&gt; - This upload artifacts from your workflow allowing you to share data between jobs and store data once a workflow is complete.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Download Build
        uses: actions/download-artifact@v2
        with:
          name: build
          path: build
      - name: Depoy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This part of the YAML configuration directs the workflow to deploy the application after the job has been completed. It uses &lt;code&gt;w9jds/firebase-action&lt;/code&gt;  action from the GitHub marketplace that is a wrapper for the Firebase CLI&lt;/li&gt;
&lt;li&gt;The token required is accessed from the repository secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Setting up continuous deployment doesn’t have to be expensive or cumbersome. You can integrate the processes described in this tutorial into your projects with ease, and it’ll help ensure you deploy projects with fewer bugs to production more quickly than ever before.&lt;/p&gt;

&lt;p&gt;This was my first article and I hope it was easy to follow along. Feedback is appreciated✌️&lt;/p&gt;

&lt;p&gt;Check out the demo repo here - &lt;a href="https://github.com/devppratik/github-action-react-demo" rel="noopener noreferrer"&gt;github-action-react-demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>firebase</category>
      <category>github</category>
      <category>firstpost</category>
    </item>
  </channel>
</rss>
