Ergebnis 1 bis 17 von 17

Thema: Nicht veröffentlichtes bundle über composer installieren?

  1. #1
    Contao-Nutzer Avatar von eki89
    Registriert seit
    20.04.2016.
    Beiträge
    41
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Lächelndes Gesicht Nicht veröffentlichtes bundle über composer installieren?

    Hallo zusammen,

    da es auf dauer leider sehr umständlich ist, meine Erweiterungen in produktiven Umgebungen zu installieren, die nicht auf packagist veröffentlicht werden, wollte ich mal nachfragen, wie Ihr das so handhabt und ob es vielleicht bessere Wege gibt.

    Lokal arbeite ich einfach so, dass ich in der composer.json schlicht meine repositories als "path" aufnehme, um diese zu installieren.

    Code:
    "repositories" : [
        {
            "type": "path",
            "url": "../path-to-bundle"
        }
    ]
    Für Entwicklungszwecke ist das auch völlig ausreichend. Im produktiven Einsatz bekomme ich so aber meine Erweiterungen nicht geupdatet, ohne die bundles immer wieder per FTP hochzuladen.

    Meine Repositories liegen bei bitbucket.org und sind privat. Habe versucht diese direkt per composer zu konsumieren mit Hilfe der folgenden Seite und weiteren Quellen (https://getcomposer.org/doc/05-repositories.md). Habe dann auf meinem Testserver auch Jenkins installiert und konnte hier meine bitbucket repositories verknüpfen und die "builds bauen". Leider habe ich nun allerdings keine Möglichkeit gefunden, das von mir selbst erzeugte repository über composer anzusprechen. Das repository mit meinem bundle konnte zwar gefunden werden, allerdings konnte es nicht installiert/required werden, da keine stabile Version gefunden werden kann.

    Aber bevor ich hier noch weiter aushole, wollte ich einfach mal Fragen, ob es hier nicht vielleicht einen empfohlenen Weg gibt. Wie handhabt Ihr dieses Problem?

    Ich bin für jede Anregung dankbar.

    Gruß,
    Eki89

  2. #2
    Contao-Nutzer
    Registriert seit
    03.09.2009.
    Ort
    Baunatal
    Beiträge
    122
    Partner-ID
    6087

    Standard

    Hi,

    du kannst wie im Link beschrieben das Repository direkt angeben oder auch den Private Packagist (https://packagist.com/) nutzen. Das ist im Endeffekt Packagist.org nur nicht öffentlich halt.

    Wenn du aber keine stabile Version bekommst, hast du ggf. was falsches required oder getagt?

    Viele Grüße
    Wusch

  3. #3
    Contao-Nutzer Avatar von eki89
    Registriert seit
    20.04.2016.
    Beiträge
    41
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Wusch Beitrag anzeigen
    Hi,

    Wenn du aber keine stabile Version bekommst, hast du ggf. was falsches required oder getagt?
    Vielen dank für die schnelle Antwort.

    Denke eigentlich nicht das ich falsch required habe, aber kann sein, dass das bundle unter dem angegeben namen nicht gefunden werden konnte.

    Habe es nun mal über packagist.com probiert und es funktioniert. Diese Möglichkeit werde ich nun erstmal Nutzen auch wenn Sie etwas Geld kostet.
    Langfristig würde ich allerdings gerne ein eigenes Repository hosten wollen. Sobald ich etwas Zeit habe, werde ich mich dem Thema nochmal widmen.
    Wenn es also noch weitere Anregungen gibt, immer her damit. Bin auch gerne bereit meine Erkenntnisse mit euch zu teilen.

    Gruß,
    Eki89

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Also ich mach das so, hier am Beispiel Github.
    https://docs.contao.ninja/de/vortrag...undle.html#/16
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer Avatar von eki89
    Registriert seit
    20.04.2016.
    Beiträge
    41
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    So ähnlich habe ich es auch versucht, nur mit bitbucket anstelle von GitHub.

    Allerdings besteht bei mir die Schwierigkeit, private Repositories ansprechen zu wollen. Die Authentifizierung schlägt bei mir leider noch fehl. Mit öffentlichen Repositories werde ich es auch nochmal probieren, um mich Schritt für Schritt heranzutasten. Unter folgendem Link wird beschrieben, wie ich Composer meine Zugangsdaten für das Repository zur Verfügung stelle. https://getcomposer.org/doc/05-repos...-configuration

    Vielen dank für eure Antworten.

  6. #6
    Contao-Fan Avatar von Sioweb
    Registriert seit
    12.08.2011.
    Ort
    Düsseldorf
    Beiträge
    405
    User beschenken
    Wunschliste

    Standard

    Ho!

    ich habe mir Satis auf meinen Server gepackt. Die Paketverzeichnisse werden durch je eine .htaccess gesichert. Die Zugangsdaten können per auth.json in deiner Webseite hinterlegt werden. In der composer.json gebe ich dann einfach dann meine Satis-URL an als VCS-Repository.

    Satis zieht dann die Pakete aus deinem privaten Git - Gitlab, Github oder Bitbucket. Wenn du weißt wie SSH / PublicKeys funktionieren, kannst du den hinterlegen, dann braucht Satis kein Passwort zu Github/Gitlab/Bitbucket.

    Die Vorgehensweise ist schon arg kompliziert ohne Vorkenntnisse, aber dadurch kann ich für verschiedene Kunden diverse Pakete als eine Art Lizenz-Paket freischalten.
    Grüße Sascha W. @Sioweb
    schadebalken.de | zurück-zu-montag.de
    +++ Programmierer von Change-Lok erfasst worden +++

  7. #7
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Die Vorgehensweise ist schon arg kompliziert ohne Vorkenntnisse, aber dadurch kann ich für verschiedene Kunden diverse Pakete als eine Art Lizenz-Paket freischalten.
    Das ist genau das, was dir packagist.com abnimmt. Kostet halt was, aber man unterstützt gleichzeitig auch die beiden Hauptentwickler von Composer und Betreiber von packagist.org (man stelle sich mal die Serverlast und den Traffic vor, der da verarbeitet und somit auch bezahlt werden muss...)
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

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

    Standard

    Beispiel Vorgehensweise bei Gitlab:

    1. Gitlab Access Token erzeugen (unter https://gitlab.com/profile/personal_access_tokens, api Scope muss ausgewählt sein).
    2. auth.json mit folgendem Inhalt anlegen:
      Code:
      {
          "gitlab-token": {
              "gitlab.com": "YOURTOKEN"
          }
      }
    3. Gitlab repository wie gehabt in der composer.json eintragen:
      Code:
      "repositories": [
          {
              "type": "vcs",
              "url": "https://gitlab.com/vendor/package.git"
          }
      ]



    Die Vorgehensweise bei Bitbucket ist prinzipiell genau so. Hier brauchst du von Bitbucket allerdings consumer-key & -secret in der auth.json:
    Code:
    {
        "bitbucket-oauth": {
            "bitbucket.org": {
                "consumer-key": "xxxxx",
                "consumer-secret": "yyyyyy"
            }
        }
    }
    Wo du das anlegst weiß ich nicht, da ich Bitbucket nicht mehr benutze.
    Geändert von Spooky (04.10.2018 um 12:44 Uhr)

  9. #9
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Beispiel Vorgehensweise bei Gitlab:

    1. Gitlab Access Token erzeugen (unter https://gitlab.com/profile/personal_access_tokens, api Scope muss ausgewählt sein).
    2. auth.json mit folgendem Inhalt anlegen:
      Code:
      {
          "gitlab-token": {
              "gitlab.com": "YOURTOKEN"
          }
      }
    3. Gitlab repository wie gehabt in der composer.json eintragen:
      Code:
      "repositories": [
          {
              "type": "vcs",
              "url": "https://gitlab.com/vendor/package.git"
          }
      ]
    Hätte hierzu noch eine Frage.
    Ich habe es so eingerichtet wie du es beschrieben hast.
    In der root composer.json habe ich noch folgenden Eintrage hinzugefügt, da gitlab bei mir auf dem Server läuft.

    Code:
    "config": {
        "gitlab-domains": [
          "gitlab.domain.tld"
        ],
      }
    Leider erhalte ich beim Updaten folgende Fehlermeldung
    Code:
    file could not be downloaded (HTTP/1.1 404 Not Found)
    muss hier noch etwas eingerichtet werden?
    Grüße
    Alex

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

    Standard

    Führe die Composer Operation mit -vvv aus und poste die Ausgabe.

  11. #11
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Code:
    Reading ./composer.json
    Loading config file /Users/user/.composer/auth.json
    Loading config file ./composer.json
    Checked CA file /private/etc/ssl/cert.pem: valid
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): git branch --no-color --no-abbrev -v
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): git describe --exact-match --tags
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): git log --pretty="%H" -n1 HEAD
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): hg branch
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): fossil branch list
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): fossil tag list
    Executing command (/Applications/MAMP/htdocs/kunde/project/contao-4): svn info --xml
    Failed to initialize global composer: Composer could not find the config file: /Users/user/.composer/composer.json
    To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
    Reading /Applications/MAMP/htdocs/kunde/project/contao-4/vendor/composer/installed.json
    Loading plugin ContaoCommunityAlliance\Composer\Plugin\Plugin
    Loading plugin Contao\ComponentsInstaller\Composer\Plugin
    Loading plugin Contao\ManagerPlugin\Composer\Plugin
    Loading plugin PackageVersions\Installer
    Running 1.7.2 (2018-08-16 16:57:12) with PHP 7.2.6 on Darwin / 18.0.0
    Loading composer repositories with package information
    Downloading https://gitlab.domain.tld/api/v4/projects/kunde%2Flayout
    Executing command (CWD): git config gitlab.accesstoken
    Downloading https://gitlab.domain.tld/api/v4/projects/kunde%2Flayout
    
                                                                                   
      [Composer\Downloader\TransportException]                                     
      The "https://gitlab.domain.tld/api/v4/projects/kunde%2Flay  
      out" file could not be downloaded (HTTP/1.1 404 Not Found)                   
                                                                                   
    
    Exception trace:
     () at phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php:430
     Composer\Util\RemoteFilesystem->get() at phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php:101
     Composer\Util\RemoteFilesystem->getContents() at phar:///usr/local/bin/composer/src/Composer/Repository/Vcs/VcsDriver.php:165
     Composer\Repository\Vcs\VcsDriver->getContents() at phar:///usr/local/bin/composer/src/Composer/Repository/Vcs/GitLabDriver.php:417
     Composer\Repository\Vcs\GitLabDriver->getContents() at phar:///usr/local/bin/composer/src/Composer/Repository/Vcs/GitLabDriver.php:324
     Composer\Repository\Vcs\GitLabDriver->fetchProject() at phar:///usr/local/bin/composer/src/Composer/Repository/Vcs/GitLabDriver.php:109
     Composer\Repository\Vcs\GitLabDriver->initialize() at phar:///usr/local/bin/composer/src/Composer/Repository/VcsRepository.php:96
     Composer\Repository\VcsRepository->getDriver() at phar:///usr/local/bin/composer/src/Composer/Repository/VcsRepository.php:123
     Composer\Repository\VcsRepository->initialize() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:185
     Composer\Repository\ArrayRepository->getPackages() at phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Pool.php:104
     Composer\DependencyResolver\Pool->addRepository() at phar:///usr/local/bin/composer/src/Composer/Installer.php:378
     Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:228
     Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:162
     Composer\Command\UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:241
     Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:843
     Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:193
     Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:254
     Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
     Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:103
     Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:56
     require() at /usr/local/bin/composer:24
    Grüße
    Alex

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

    Standard

    Poste deine composer.json.

  13. #13
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Code:
    {
      "name": "contao/managed-edition",
      "type": "project",
      "description": "Contao Open Source CMS",
      "license": "LGPL-3.0-or-later",
      "authors": [
        {
          "name": "Leo Feyer",
          "homepage": "https://github.com/leofeyer"
        }
      ],
      "require": {
        "php": "^7.1",
        "christianbarkowsky/extended_checkbox": "dev-develop",
        "codefog/contao-cookiebar": "^2.1",
        "contao/calendar-bundle": "^4.6",
        "contao/comments-bundle": "^4.6",
        "contao/faq-bundle": "^4.6",
        "contao/listing-bundle": "^4.6",
        "contao/manager-bundle": "4.6.*",
        "contao/news-bundle": "^4.6",
        "contao/newsletter-bundle": "^4.6",
        "delahaye/dlh_googlemaps": "^2.4",
        "hofff/contao-googleanalytics": "^1.5",
        "vendor/kunden-layout": "@dev",
        "madeyourday/contao-rocksolid-custom-elements": "^2.2",
        "madeyourday/contao-rocksolid-slider": "^2.0",
        "menatwork/semantic_html5": "^2.0",
        "srhinow/themecontent-bundle": "^0.1.15",
        "terminal42/contao-changelanguage": "^3.1",
        "terminal42/notification_center": "^1.4"
      },
      "conflict": {
        "contao-components/installer": "<1.3"
      },
      "extra": {
        "branch-alias": {
          "dev-4.6": "4.6.x-dev"
        },
        "contao-component-dir": "assets"
      },
      "autoload": {
        "psr-4": {
          "App\\": "src/"
        }
      },
      "scripts": {
        "post-install-cmd": [
          "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ],
        "post-update-cmd": [
          "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ]
      },
      "repositories": [
        {
          "type": "vcs",
          "url": "https://gitlab.domain.tld/kunde/layout.git"
        }
      ],
      "config": {
        "gitlab-domains": [
          "gitlab.domain.tld"
        ],
        "gitlab-token": {
          "gitlab.domain.tld": "KEY"
        }
      }
    }
    Grüße
    Alex

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

    Standard

    Du hast das Gitlab Token in die config der composer.json gegeben. Sicher, dass das so funktioniert?

  15. #15
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du hast das Gitlab Token in die config der composer.json gegeben. Sicher, dass das so funktioniert?
    Wenn ich das richtig verstehe, sollte das auch in der composer.json funktionieren. https://getcomposer.org/doc/06-config.md#gitlab-token

    ich habe das auch in der auth.json im root (Projekt Verzeichnis) hinterlegt.

    Wenn ich in der Konsole folgende Befehl ausführe
    Code:
    curl --header "PRIVATE-TOKEN: KEY" "https://gitlab.domain.tld/api/v4/projects"
    erhalte ich diese Ausgabe hier
    Code:
    [{"id":18,"description":"","name":"layout","name_with_namespace":"Kundenname / layout","path":"layout","path_with_namespace":"kunde/layout","created_at":"2018-09-27T08:06:35.058Z","default_branch":"master","tag_list":[],"ssh_url_to_repo":"git@gitlab.domain.tld:kunde/layout.git","http_url_to_repo":"https://gitlab.domain.tld/kunde/layout.git","web_url":"https://gitlab.domain.tld/kunde/layout","readme_url":"https://gitlab.domain.tld/kunde/layout/blob/master/README.md","avatar_url":null,"star_count":0,"forks_count":0,"last_activity_at":"2018-10-10T07:33:45.962Z","namespace":{"id":5,"name":"Namen vom Kunde","path":"kunde","kind":"group","full_path":"kunde","parent_id":null},"_links":{"self":"https://gitlab.domain.tld/api/v4/projects/18","issues":"https://gitlab.domain.tld/api/v4/projects/18/issues","merge_requests":"https://gitlab.domain.tld/api/v4/projects/18/merge_requests","repo_branches":"https://gitlab.domain.tld/api/v4/projects/18/repository/branches","labels":"https://gitlab.domain.tld/api/v4/projects/18/labels","events":"https://gitlab.domain.tld/api/v4/projects/18/events","members":"https://gitlab.domain.tld/api/v4/projects/18/members"},"archived":false,"visibility":"private","resolve_outdated_diff_discussions":false,"container_registry_enabled":true,"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":2,"import_status":"none","open_issues_count":1,"public_jobs":true,"ci_config_path":null,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"request_access_enabled":false,"only_allow_merge_if_all_discussions_are_resolved":false,"printing_merge_request_link_enabled":true,"merge_method":"merge","permissions":{"project_access":{"access_level":20,"notification_level":3},"group_access":null}}]
    Sobald ich aber die volle URL abrufe kommt nicht gefunden.
    Code:
    curl --header "PRIVATE-TOKEN: KEY" "https://gitlab.domain.tld/api/v4/projects/kunde/layout"
    Ergebnis
    Code:
    {"error":"404 Not Found"}
    Grüße
    Alex

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

    Standard

    Ich glaube damit musst du dich an den Support von Gitlab wenden.

  17. #17
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    okay ich danke dir für deine Hilfe
    Grüße
    Alex

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
  •