Skip to content

Instantly share code, notes, and snippets.

@nervo
Created September 4, 2020 08:44
Show Gist options
  • Save nervo/78bb97d219e03ea629493144e3902339 to your computer and use it in GitHub Desktop.
Save nervo/78bb97d219e03ea629493144e3902339 to your computer and use it in GitHub Desktop.
  • vagrant destroy && rm -Rf .vagrant

  • Récupération des parametres Vagrantfile vers le .manala.yaml

    • app.name -> system.hostname + ".vm"
    • app.box_version 3.* -> system.version 8 app.box_version 4.* -> system.version 9
    • app.box_memory -> system.memory si différent de 1024 ou 2048
  • Suppression du fichier Vagrantfile

  • Nettoyage du/des Makefile

    • Suppression des .PHONY: build test
    • Suppression des ## Colors
    • Suppression des ## Help
    • -include .manala/make/Makefile -> -include .manala/Makefile
    • Suppression des "HOSTNAME", "APP_HOSTNAME" et "check*"
    • Déplacement de target setup vers define setup
      if [ -d  "./var/cache" ]; then rm -rf ./var/cache; fi;          define setup
      if [ -d "./var/log" ]; then rm -rf ./var/log; fi;           ->  	$(VAGRANT_MAKE) install build
      vagrant up --no-provision                                       endef
      vagrant provision
      vagrant ssh -- "cd /srv/app && make install && make build"
      
    • Suppression de la partie "Environment"
    • Remplacement des make -C par des $(MAKE) --directory
    • Custom -> App
    • ##########     #########
      # Build #   -> # Build #
      ##########     #########
      
  • Un petit tour dans le readme, notament:

    • Requirements
      * Make
      * Vagrant 2.2.10+
      * Landrush 1.3.2+
      * VirtualBox 6.1.12+
      * Docker Desktop 2.2.0+
      
      • Usage: vagrant -> make
  • Remplacement des credentials db dans .env/.env.test`

    DATABASE_URL=mysql://[email protected]:3306/* -> DATABASE_URL=mysql://[email protected]:3306/*
    

    ou dans config/paramaters.yml[.dist]

    database_user:     app -> database_user:     root
    
  • Nettoyage du fichier .gitignore à la racine

    # Vagrant
    .vagrant/
    
    # Ansible
    ansible/*.retry
    ansible/group_vars/*_local.yml
    /ansible/roles/
    build/
    .manala.local.yaml
    
  • .manala.yaml

    • suppression de l'entrée system.symfony
    • Modification de l'entrée system.ssh.config
    ssh:                                     ssh:
      config: |                                  client:
        Host previ-*.elao.prod.elao.run  ->          config:
            User         app                           - Host *.elao.run:
            ForwardAgent yes                             - User: app
                                                         - ForwardAgent: true
    
    • suppression dans les tâches d'integration
    env:
        DATABASE_URL: mysql://[email protected]:3306/app
    

    ou

    env:
        APP_DATABASE_HOST: 127.0.0.1
        APP_DATABASE_NAME: api
        APP_DATABASE_USER: root
    
  • Bascule de ansible/group_vars/app.yml vers .manala.yaml

    • timezone si différente de "Etc/UTC"
    • Files avant:
      files_attributes:
        - path:  "{{ app.dir }}{{ app.dir_release }}/var/log"
          src:   "{{ app.log_dir }}"
          state: link_directory
        - path:  "{{ app.dir }}{{ app.dir_release }}/var/cache"
          src:   "{{ app.cache_dir }}"
          state: link_directory
      
      après:
      files:
        - path: /srv/app/var/log
          src: /srv/log
          state: link_directory
          force: true
        - path: /srv/app/var/cache
          src: /srv/cache
          state: link_directory
          force: true
      
    • Penser à rajouter l'extention php mysql si necessaire
    • apt -> supprimer package "pv" au besoin, il est maintenant intégré de base dans la vm
    • cron -> ne plus préciser le user, il est posé par défaut à vagrant dans system.yaml
  • Suppression du repertoire ansible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment