1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/developer-cli-odo-push-workflow.adoc
Steven Smith 82a5119e68 Removes back ticks in headings
Adds1

Adds2

Adds4
2021-04-12 16:35:21 +00:00

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.