mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
43 lines
2.0 KiB
Plaintext
43 lines
2.0 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * cli_reference/developer_cli_odo/odo-architecture.adoc
|
|
|
|
[id="odo-push-workflow_{context}"]
|
|
|
|
= {odo-title} push workflow
|
|
This section describes `{odo-title} push` workflow. {odo-title} push deploys user code on an {product-title} cluster with all the necessary {product-title} resources.
|
|
|
|
. Creating resources
|
|
+
|
|
If not already created, `{odo-title}` push creates the following {product-title} resources:
|
|
+
|
|
* `DeploymentConfig` object:
|
|
** Two init containers are executed: `copy-supervisord` and `copy-files-to-volume`. The init containers copy files onto the `emptyDir` and the `PersistentVolume` type of volumes respectively.
|
|
** The application container starts. The first process in the application container is the `go-init` process with PID=1.
|
|
** `go-init` process starts the SupervisorD daemon.
|
|
+
|
|
[NOTE]
|
|
====
|
|
The user application code has not been copied into the application container yet, so the `SupervisorD` daemon does not execute the `run` script.
|
|
====
|
|
+
|
|
* `Service` object
|
|
* `Secret` objects
|
|
* `PersistentVolumeClaim` object
|
|
|
|
|
|
. Indexing files
|
|
+
|
|
* A file indexer indexes the files in the source code directory. The indexer traverses through the source code directories recursively and finds files which have been created, deleted, or renamed.
|
|
* A file indexer maintains the indexed information in an {odo-title} index file inside the `.odo` directory.
|
|
* If the {odo-title} index file is not present, it means that the file indexer is being executed for the first time, and creates a new {odo-title} index JSON file.
|
|
The {odo-title} index JSON file contains a file map - the relative file paths of the traversed files and the absolute paths of the changed and deleted files.
|
|
|
|
. Pushing code
|
|
+
|
|
Local code is copied into the application container, usually under `/tmp/src`.
|
|
|
|
. Executing `assemble-and-restart`
|
|
+
|
|
On a successful copy of the source code, the `assemble-and-restart` script is executed inside the running application container.
|