Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Magallanes Deployment

  1. #1
    Jayster
    Gast

    Standard Magallanes Deployment

    Ich habe zwei Fragen zum Thema Deployment mit Magallanes. Sie sind nicht Contao spezifisch, aber da dies so ein Super Forum ist und einige Contao Entwickler Magallanes verwenden, dachte ich, ich versuche es mal hier.

    1. Composer install
    Die Magallanes Dokumentation schlägt vor, composer install in der pre-deploy Phase auszuführen, also lokal auf meinem Rechner. Daher habe ich folgends in meiner .mage.yml:
    Code:
    pre-deploy:
       - composer/install: { flags: '--no-dev --optimize-autoloader' }
    Durch den "--no-dev" Flag werden mir also auch lokal meine Entwicklungsabhängigkeiten weggenommen, die ich noch brauche. Wäre es nicht sinnvoller, composer-install auf dem Zielserver aufzurufen? Also in on-deploy? Oder was wäre der bessere Weg?

    2. Benutzer
    Wenn ich unter "user" meinen eigenen Nutzer eintrage, kann ich schön deployen. Andere Nutzer haben dann jedoch das Problem, dass sie nicht deployen können, da sie keine Schreibrechte auf den von mir erstellten Ordnern haben. Meine Idee ist daher einen allgemeinen Nutzer anzulegen, z.B. "magallanes" und alle unter diesem Nutzer deployen zu lassen (hat auch den Vorteil, dass die .mage.yml direkt aus Git gezogen und verwendet werden kann, ohne Anpassungen zu machen). Macht ihr das ähnlich oder gibt es einen besseren Weg?

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    ad 1) Ich würde es on-deploy machen. Hier eine Beispiel .mage.yml aus unseren Projekten:

    Code:
    magephp:
        environments:
            live:
                user: foo
                hosts:
                    - foo.example.org
                host_path: /var/www/foo
                releases: 2
                # exclude everything that is installed via composer or not needed otherwise
                exclude:
                    - ./app/config/parameters.yml
                    - ./assets
                    - ./files/content
                    - ./node_modules
                    - ./system
                    - ./var
                    - ./vendor
                    - ./.gitignore
                    - ./.mage.yml
                    - ./.php_cs.dist
                    - ./.travis.yml
                    - ./README.md
                pre-deploy:
                    # check security
                    - exec: { cmd: 'php vendor/bin/security-checker security:check', desc: 'Security check' }
                on-deploy:
                    # symlink the parameters.yml
                    - fs/link: { from: '../../../../shared/app/config/parameters.yml', to: 'app/config/parameters.yml' }
                    # symlink the files/content directory
                    - fs/link: { from: '../../../shared/files/content', to: 'files/' }
                    # execute composer install, with an increased timeout (could take a while)
                    - composer/install: { timeout: 300 }
                on-release:
                post-release:
                post-deploy:
                # use custom PHP CLI path and composer.phar
                composer:
                    path: /etc/bin/php72 ~/composer.phar

    ad 2) Der user, der da eingetragen ist, ist ja der entsprechende user am Server der jeweiligen Umgebung. Der sollte ja für alle gleich sein.
    Geändert von Spooky (25.03.2019 um 09:42 Uhr)

  3. #3
    Jayster
    Gast

    Standard

    Danke für deine Beispiel Konfiguration. Das ist sehr hilfreich.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •