Source kopieren und lokal versionieren
-
Es wird für jedes Image ein temporärer Container erstellt (Version auf den eigenen Stand anpassen), die entsprechenden Quellverzeichnisse extrahiert und der Container danach wieder gelöscht
-
Es wird empfohlen, die Verzeichnisse mit einem geeigneten Tool wie Git zu versionieren.
Customizing Image
container_id=$(docker create registry.planta.services/planta/customizing:DB25)
mkdir Customizing
docker cp $container_id:psc/src/Python/ ./Customizing/Python/
docker cp $container_id:psc/src/jython/ ./Customizing/jython/
docker cp $container_id:psc/src/config/ ./Customizing/config/
docker cp $container_id:psc/src/DefaultPicture/ ./DefaultPicture/
docker rm $container_id
Manager Image
container_id=$(docker create registry.planta.services/planta/manager:S38)
mkdir manager
docker cp $container_id:/planta/jython/ ./manager/jython/
docker rm $container_id
Worker Image
container_id=$(docker create registry.planta.services/planta/worker:S38)
mkdir worker
docker cp $container_id:/planta/py/ ./worker/Python/
docker rm $container_id
Entwicklungssystem aufsetzen
-
Zuerst muss ein normales docker-compose-Template mit customizing Image gestartet werden, damit das System sich mit den Standarddaten installiert
-
Danach muss die docker-compose angepasst werden und alle Referenzen auf das customizing Image entfernt werden.
-
Dann können die Source-Verzeichnisse aus dem 1. Schritt lokal gemounted werden.
-
Es wird angenommen, dass die Verzeichnisse im gleichen Ordner wie die docker-compose Datei liegen.
manager
volumes:
- ./Customizing/config:/mnt/transfer/config:rw
- ./Customizing/Python:/mnt/transfer/Python:rw
- ./Customizing/jython:/mnt/transfer/jython:rw
- ./Customizing/DefaultPicture:/mnt/transfer/DefaultPicture:rw
- ./manager/jython/server:/planta/jython/server:rw
- ./manager/jython/__init__.py:/planta/jython/__init__.py:rw
worker
volumes:
- ./Customizing/config:/mnt/transfer/config:rw
- ./Customizing/Python:/mnt/transfer/Python:rw
- ./Customizing/jython:/mnt/transfer/jython:rw
- ./Customizing/DefaultPicture:/mnt/transfer/DefaultPicture:rw
- ./worker/Python/py/api/ppms/server/csrpc:/planta/py/api/ppms/server/csrpc:rw
- ./worker/Python/py/api/ppms/server/ppms:/planta/py/api/ppms/server/ppms:rw
- ./worker/Python/py/api/ppms/server/tests:/planta/py/api/ppms/server/tests:rw
- ./worker/Python/py/api/ppms/server/__init__.py:/planta/py/api/ppms/server/__init__.py:rw
- ./worker/Python/py/api/ppms/server/planta.py:/planta/py/api/ppms/server/planta.py:rw
- ./worker/Python/py/folder_overlay_sync.py:/planta/py/folder_overlay_sync.py:rw
Eigenes Customizing Image bauen
Angepasste Customizing Python-Dateien können in einem individuellem Image hinterlegt werden. Dafür erstellt man ein neues Image auf Basis des offiziellen Customizing Images.
-
Kann für Deployments in Test- und/oder Produktive Umgebungen verwendet werden
-
Erlaubt eigene Versionierung der Artefakte und Integration in Deployment Pipelines
Dockerfile Beispiel:
FROM registry.planta.services/planta/customizing:DB25
COPY /path/to/your/customizing /path/to/equivalent/path/in/container
## example, copying new individual test.py to customer python file location
# COPY test.py src/Python/py/customer/
## example, copying edited existing ppms.py to existing location
# COPY ppms.py src/Python/py/api/ppms/customizing/venus/ppms/
Nachdem die obenstehende Vorlage angepasst wurde, kann das neue Image mit Docker gebaut und deployed werden.
Individuelle Python Dateien müssen in den Ordner src/Python/py/customer/ abgelegt werden.