Continuous deplooyment is about pushing code to our customers every time a change has been made to the code base

https://fireship.io/snippets/github-actions-deploy-angular-to-firebase-hosting/

Exemple avec firebase

GitHub Action deploying Angular App to Firebase HostingBy Marc Stammerjohann This snippet helps you to setup GitHub Actions in your Angular project to build and deploy your app to Firebase on git push. Step 1. Actions In your repository click on Actions. Step 2. New Workflow To create your first workflow click on Set up a workflow yourself Your first GitHub action looks like this: main.yml

`name: CIon: [push]

jobs: build:

runs-on: **ubuntu**-latest

steps:
- uses: **actions**/checkout**@v1**- name: **Run** a one-line script
  run: **echo** Hello, world!
- name: **Run** a multi-line script
  run: |
    echo Add other actions to build,
    echo test, and deploy your project.`

Step 3. Customize job name The current job name is build, keep as it is or give it a new name like firebase-deploy

jobs: **firebase**-deploy:

Step 4. Customize workflow trigger Currently, the workflow will be triggered on push into any branch. Lets change the trigger rule to only trigger the worklflow on push into master or release/*:

on: **push**: branches: - master - release/*

Step 5. Update checkout action The workflow uses actions/checkout@v1 which has the latest version 2.0.0. Lets update it to actions/checkout@v2 or even actions/checkout@master

- uses: **actions**/checkout**@master Step 6. Setup Node.js** Now lets install our dependencies and build the Angular app. We use Setup Node.js for use with actions and update our steps to look like this:

`steps:

`steps:

Now click on Start commit on the right side to commit your new workflow. Step 8. Firebase Token GitHub requires a FIREBASE_TOKEN to be able to deploy your Angular app to Firebase. Generate a token for firebase ci: • install npm i -g firebase-toolsfirebase login:ci returns a token to be used in a CI server command line

`Waiting for authentication...

✔ Success! Use this token to login on a CI server:

1/A29..............y

Example: firebase deploy --token "\$FIREBASE_TOKEN"`

Go to Settings > Secrets: Step 9. Final Workflow Your final workflow should look something like this in the text editor: main.yml

`name: CIon: push: branches: - master - release/*

jobs: firebase-deploy:

**runs**-on: **ubuntu**-latest

steps:
- uses: **actions**/checkout**@master**- uses: **actions**/setup-node**@masterwith**:
    node-version: '10.x'
- run: **npm** install
- run: **npm** run build:**prod**- uses: **w9jds**/firebase-action**@masterwith**:
    args: **deploy** --only hosting
  env:
    **FIREBASE_TOKEN**: ${{ secrets.FIREBASE_TOKEN }}`

Now you can commit your new workflow to your repository. This workflow is added to .github/workflows/main.yml. Go ahead and push a change to your Angular project and you can see the progress in the Actions tab and your change are deployed directly to Firebase. ng-firebase-github-action is an example Angular app w/ the main.yml deploying the app to Firebase hosting. The app is available on firebase here. Questions? Ask questions via GitHub below OR chat on Slack #questions