2016-10-04 38 views
19

Załóżmy, że mam dwa środowiska (testowe i produkcyjne) z dwoma różnymi adresami URL. Mam również dwie usługi (serviceA i serviceB), które wymagają różnych wartości nagłówka. mogę sobie z tym poradzić z czterech środowisk w Listonosz:Jak mogę uniknąć "piekła środowiska" u listonosza?

  1. testServiceA URL dla testu, wartość nagłówka serviceA
  2. testServiceB: url do testów, wartość nagłówka dla serviceB
  3. productionServiceA: URL dla produkcji, nagłówka wartość dla serviceA
  4. productionServiceB: url dla produkcji, wartość nagłówka dla serviceB

Tutaj mam powielania obu adresów URL i nagłówki. Jak dodać kolejny adres URL, muszę sześć środowisk W sumie:

  1. testServiceA URL dla testu, wartość nagłówka dla serviceA
  2. testServiceB: URL do testów, wartość nagłówka dla serviceB
  3. productionServiceA: URL do produkcji , wartość nagłówka dla serviceA
  4. productionServiceB: URL dla produkcji, wartość nagłówka dla serviceB
  5. stagingServiceA: URL dla inscenizacji, wartość nagłówka dla serviceA
  6. stagingServiceB: URL dla inscenizacji, heade Wartość R dla serviceB

I jak dodać inną usługę, która wymaga zmian wartości nagłówka, muszę kolejny 3:

  1. testServiceA URL dla testu, wartość nagłówka dla serviceA
  2. testServiceB: URL do badania, wartość nagłówka dla serviceB
  3. productionServiceA: url dla produkcji, wartość nagłówka dla serviceA
  4. productionServiceB: URL dla produkcji, wartość nagłówka dla serviceB
  5. stagingServiceA: URL dla inscenizacji, wartość nagłówka dla serviceA
  6. stagingServiceB: URL dla inscenizacji, wartości nagłówka dla serviceB
  7. testServiceC: URL dla testu, wartość nagłówka dla serviceC
  8. productionServiceC: URL dla produkcji, wartość nagłówek serviceC
  9. stagingServiceC: URL dla inscenizacji, wartość nagłówka dla serviceC

Jak mogę tego uniknąć? Byłoby wspaniale, gdybym mógł wybrać wiele środowisk jako aktywnych. Następnie mogę umieścić znacznik wyboru obok "postoju" i "serviceC" na przykład.

Odpowiedz

13

rozwiązania specyficznego dla Paw:

Paw sprawia, że ​​ma pojęcie domen środowiska, co pozwala na łatwiejszą kontrolę na swoimi wartościami środowiska. Zasadniczo domena środowiskowa może mieć wiele środowisk, które są reprezentacjami tej samej wartości środowiska.

W twoim przypadku można mieć 3 środowiskach domen (serviceA, serviceB, serviceC), na które masz 3 środowiskach (testy, staging, produkcja)

Paw environment demo

W ogóle, to pozwala dla dużej elastyczności, ponieważ wiele domen środowiska może być używanych razem w jednym żądaniu. Na przykład można sobie wyobrazić domenę środowiskową Server z różnymi środowiskami (us-east-1, us-west, ...), która może łączyć się z, powiedzmy, domeną środowiskową Version (v1.0, v1.1, v2.0 itd.) I połączyć je w pojedynczy poprosimy o sprawdzenie, czy wersja 2.0 działa na nas - wschód-1, i tak dalej.

rozwiązania konkretnego do Postman:

Można użyć kilka {{}} zawiłości odmieni niektórych środowiskach. Zmienne środowiskowe mogą odnosić się do siebie:

Postman environment demo

Teraz, kiedy odnosi się do zmiennej środowiskowej {{some-important-header}} gdzieś, że rzeczywiście odnoszą się do {{{{mode}}-some-important-header}}, która w tym przypadku jest {{test-some-important-header}} lub -1. Za każdym razem, gdy chcesz zmienić tryb, musisz zmienić wartość zmiennej środowiskowej mode na poprawną wartość, np. production lub staging.

To nie jest najczystsze rozwiązanie, ale unika tworzenia wielu środowisk ze względu na sprzężenie.

+0

zredagował odpowiedź, aby uwzględnić rozwiązanie specyficzne dla listonosza. Moje przeprosiny, przyszedłem tutaj z e-maila, który wysłał mi poster, pytając o to, w jaki sposób problem został rozwiązany w sprawie Paw. –