bynicodevelop / atrap.io-beta

Application de capture d'email en piratant la visibilité des concurrents
https://atrap.io
0 stars 0 forks source link

Automatisation de la mise en production de l'application #16

Open bynicodevelop opened 4 years ago

bynicodevelop commented 4 years ago

Permettre l'automatisation de l'application sur le hosting de firebase.

Utilisation de Github actions pour la création du système d'intégration.

Github intégrera des variables cachées.

Nomenclature :

STAG_NOM_DE_VARIABLE PROD_NOM_DE_VARIABLE

bynicodevelop commented 4 years ago

Article intéressant sur le génération de variables d'environnement avec Travis : https://brettdewoody.com/secure-environment-variables-with-travis/

bynicodevelop commented 4 years ago

Firebase configuration

npm install -g firebase-tools
firebase login
firebase init

Travis configuration

firebase login:ci

docker run -it --rm ruby:latest bash
gem install travis
travis encrypt "1/firebase_CI_token" -r githubusername/reponame
bynicodevelop commented 4 years ago

Pour ajouter des variables d'environnement directement avec travis et dans le fichier de configuration :

travis encrypt BINTRAY_USER=user --add env.global

bynicodevelop commented 4 years ago

Possibilité de créer une fichier .env.travis et le copier de la façon suivante :

before_script:
    - cp .env.travis .env
bynicodevelop commented 4 years ago

Pour la création du fichier :

- echo MY_VARIABLE = $MY_VARIABLE > .env

bynicodevelop commented 4 years ago

Solution retenue : Github action

Exemple probable de configuration :

name: Firebase Continous Deployment

on:
  push:
    branches: [ master ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: actions/setup-node@master
        with:
          node-version: 12
      - run: npm install
      - run: npm run generate
      - uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_HOSTING }}
          FIREBASE_PROJECT: PROJECTID

Reste la génération du fichier .env