2014-07-23 16 views
5

Dla zespołu programistów ważne jest, aby każdy skonfigurował i skonfigurował serwer aplikacji. W naszym przypadku korzystamy z websphere 8.5.Jak rozpowszechniać konfigurację serwera WWW (źródła danych, jms, ...) w wielu instancjach?

Szukam łatwego sposobu na zrobienie tego. Zwykle robisz to za pomocą narzędzia do zarządzania profilami w katalogu WAS_HOME/bin/ProfileManagement, a to narzędzie działa dobrze. Ale po instalacji serwera WWW trzeba jeszcze skonfigurować profil serwera - tworzenie źródeł danych, kolejek JMS, magistrali, zmiennych itd. Pomyślałem więc, że byłoby miło, gdyby można było zastosować te konfiguracje do istniejącego profilu.

Moja pierwsza próba była tylko skonfigurować jeden profil, a następnie wykonać kopię zapasową konfiguracji przy użyciu

%WAS_HOME%/bin/backupConfig.bat 

Ale konfiguracja zawiera np nazwa hosta i inne konfiguracje zależne od hosta. Tak więc narzędzie backupConfig.bat nie jest tym, czego szukam.

Następną myślą, która przyszła mi do głowy jest to, że mógłbym stworzyć specjalny profilTemplate. Aby inni mogli korzystać z narzędzia do zarządzania profilami i korzystać z tego szablonu. Wygląda jednak na to, że struktura szablonów nie jest dostosowywana. Wiele plików i prawie nie można znaleźć dokumentacji, jak stworzyć własny szablon profilu.

Natknąłem się na szablony z rozszerzeniem. Ten szablon jest używany (jak sugeruje nazwa), aby dodać określoną konfigurację do istniejącego profilu. Znalazłem sporo dokumentacji, jak zastosować ulepszenie do istniejącego profilu, ale nie mam dokumentacji, jak utworzyć ulepszenie.

W końcu myślę, że musi istnieć jakiś sposób eksportowania konfiguracji źródła danych, magistrali, jms itp. I zastosowania ich do innych profili, ponieważ w bardzo dużych instalacjach zespół operacyjny musi mieć tę zdolność.

Wiem, że mogę dodać specyficzne dla kontenera deskryptory do EAR. Na przykład. META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/resources.xml. Ale nie chcę tworzyć plików EAR specyficznych dla środowiska, ponieważ łączy nasze kompilacje z infrastrukturą, a zatem musimy budować i ponownie wdrażać, gdy tylko operacje zmieniają infrastrukturę, np. nazwy hostów, adresy IP, hasła.

Czy ktoś wie, jak zarządzać dystrybucją źródeł danych, autobusów, jms itp. W wielu instalacjach na serwerze internetowym?

Odpowiedz

3

Oprócz skryptów wsadmin - które są bardzo dobre dla tego rodzaju zadań, sugerowałbym konfigurację opartą na właściwościach. Może być bardziej przydatny, ponieważ pozwala eksportować wiele obiektów konfiguracyjnych jednocześnie, a następnie zastosować je w różnych środowiskach. Może to być nieco łatwiejsze, ponieważ pracujesz na zwykłych plikach tekstowych zamiast skryptów jython.

konfiguracja oparta

Właściwości pliku umożliwia:

  • danych Wyciąg z repozytorium konfiguracji stworzenia Właściwości plików.
  • Zaktualizuj plik właściwości, aby zmienić konfigurację, jako potrzebne.
  • Zastosuj zaktualizowane dane w pliku właściwości do docelowego repozytorium konfiguracji .

Zobacz więcej szczegółów tutaj:
Properties-based configuration
Infocenter documentation
Education assistant

+1

Dzięki, eksportowane pełną konfigurację i teraz próbuję zaimportować je do innego profilu. Niektóre konfiguracje zadziałały, ale niektóre powodują błędy. Zbadam to w ciągu najbliższych dni. –

0

Właśnie zapamiętałem narzędzie wsadmin i domyślam się, że to najlepszy sposób na spełnienie moich wymagań.

Na szczęście IBM udostępnia sample scripts, które pokazują, jak tworzyć źródła danych lub modyfikować je za pomocą skryptów jython lub jacl.

Przykładem sposobu tworzenia źródeł danych można znaleźć na przykład w (ex7.py pliku w ZIP) Administration scripts (1-12) -- Jython version

nadzieję, że to pomaga innym, którzy mają taką samą lub similay pytanie.

1

Proponuję użyć wsadmin shell scripting i utworzyć skrypt do tworzenia zasobów. Premia polega na tym, że możesz uruchomić ją bezpośrednio z RAD (prawy klawisz Run As-> Administrative Script).

Oto pełna przykład napisany w Jython do tworzenia zasobów JDBC wraz z JAAS informacji logowania (Uwaga: używam Oracle Database, twoja konfiguracja może być różny w zależności od bazy używasz):

cell=AdminConfig.showAttribute(AdminConfig.list("Cell"), "name") 
node=AdminConfig.showAttribute(AdminConfig.list("Node"), "name") 

#Add JAAS credentials 
print "Adding JAAS credentials" 
security = AdminConfig.getid('/Cell:'+cell+'/Security:/') 
alias = ['alias', node+'/dbUser'] 
userid = ['userId', 'DBUSER'] 
password = ['password', 'PASSWORD'] 
jaasAttrs = [alias, userid, password] 
AdminConfig.create('JAASAuthData', security, jaasAttrs) 
AdminConfig.save() 

#Add JDBC jar path 
print "Adding JDBC jar path" 
AdminTask.setVariable('[-variableName ORACLE_JDBC_DRIVER_PATH -variableValue ${WAS_INSTALL_ROOT}/lib/ext -scope Cell='+cell+',Node='+node+']') 
AdminConfig.save() 

#JDBC Provider print "Adding JDBC Provider" 
AdminTask.createJDBCProvider('[-scope Node='+node+',Server=server1 -databaseType Oracle -providerType "Oracle JDBC Driver" -implementationType "Connection pool data source" -name "Oracle JDBC Driver" -description "Oracle JDBC Driver-compliant Provider." -classpath ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar]') 
AdminConfig.save() 

#JDBC Datasources print "Creating Datasource" 
AdminJDBC.createDataSourceAtScope("Node="+node+",Server=server1", "Oracle JDBC Driver", "test", "jdbc/test", "com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper", "jdbc:oracle:thin:@10.0.0.1:1521:TEST", [['componentManagedAuthenticationAlias', node+'/test'], ['containerManagedPersistence', 'true']]) 
AdminConfig.save() 
Powiązane problemy