typos
This commit is contained in:
parent
d4a81dff3d
commit
77ec0bbcd6
@ -9,23 +9,23 @@ Overview
|
||||
|
||||
Each build is isolated within its own container (Linux namespaced container).
|
||||
|
||||
The base is an Ubuntu 16.04 system, where are installed all required Odoo dependencies
|
||||
as well as common useful packages.
|
||||
The base is an Ubuntu 16.04 system, where all of Odoo's required dependencies,
|
||||
as well as common useful packages, are installed.
|
||||
|
||||
The Odoo.sh team is open to install any system packages
|
||||
as long as they are distributed by the official Ubuntu repositories.
|
||||
`Leave us a feedback <https://www.odoo.sh/feedback>`_ if you would like a package which is not yet installed.
|
||||
as long as they are distributed in the official Ubuntu repositories.
|
||||
`Leave us a feedback <https://www.odoo.sh/feedback>`_ if you would like a package not yet installed.
|
||||
|
||||
If your project requires Python dependencies not installed by default in the container, or more recent releases,
|
||||
you can define a *requirements.txt* file, listing your Python modules dependencies,
|
||||
in the root of your branches. The platform will take care to install these dependencies in your containers.
|
||||
If your project requires additional Python dependencies, or more recent releases,
|
||||
you can define a :file:`requirements.txt` file in the root of your branches listing them.
|
||||
The platform will take care to install these dependencies in your containers.
|
||||
`The pip requirements specifiers <https://pip.pypa.io/en/stable/reference/pip_install/#requirement-specifiers>`_
|
||||
documentation can help you to know how to write a *requirements.txt* file.
|
||||
documentation can help you write a :file:`requirements.txt` file.
|
||||
To have a concrete example,
|
||||
check out the `requirements.txt file of Odoo <https://github.com/odoo/odoo/blob/11.0/requirements.txt>`_.
|
||||
|
||||
The *requirements.txt* files of submodules are taken into account as well. The platform
|
||||
looks for *requirements.txt* files in each folders containing Odoo modules: Not in the module folder itself,
|
||||
The :file:`requirements.txt` files of submodules are taken into account as well. The platform
|
||||
looks for :file:`requirements.txt` files in each folder containing Odoo modules: Not in the module folder itself,
|
||||
but in their parent folder.
|
||||
|
||||
Directory structure
|
||||
@ -35,7 +35,7 @@ As the containers are Ubuntu based, their directory structure follows the linux
|
||||
`Ubuntu's filesystem tree overview <https://help.ubuntu.com/community/LinuxFilesystemTreeOverview#Main_directories>`_
|
||||
explains the main directories.
|
||||
|
||||
The Odoo.sh pertinent directories are presented in the below list:
|
||||
Here are the Odoo.sh pertinent directories:
|
||||
|
||||
::
|
||||
|
||||
@ -95,11 +95,12 @@ While accessing a container with the shell, you can access the database using *p
|
||||
odoo-addons-master-1=>
|
||||
|
||||
**Be careful !**
|
||||
Use transactions (*BEGIN...COMMIT/ROLLBACK*) for every *sql* requests leading to changes
|
||||
`Use transactions <https://www.postgresql.org/docs/current/static/sql-begin.html>`_ (*BEGIN...COMMIT/ROLLBACK*)
|
||||
for every *sql* statements leading to changes
|
||||
(*UPDATE*, *DELETE*, *ALTER*, ...), especially for your production database.
|
||||
|
||||
It happens to be distracted, and the transaction mechanism may save you.
|
||||
Indeed, it gives you the opportunity to rollback your changes in case you make a mistake.
|
||||
The transaction mechanism is your safety net in case of mistake.
|
||||
You simply have to rollback your changes to revert your database to its previous state.
|
||||
|
||||
For example, it may happen that you forget to set your *WHERE* condition.
|
||||
|
||||
@ -112,7 +113,7 @@ For example, it may happen that you forget to set your *WHERE* condition.
|
||||
odoo-addons-master-1=> ROLLBACK;
|
||||
ROLLBACK
|
||||
|
||||
In such a case, you can rollback to revert the unwanted changes that you just mistakenly did, and rewrite the request:
|
||||
In such a case, you can rollback to revert the unwanted changes that you just mistakenly did, and rewrite the statement:
|
||||
|
||||
.. code-block:: sql
|
||||
|
||||
@ -123,11 +124,11 @@ In such a case, you can rollback to revert the unwanted changes that you just mi
|
||||
odoo-addons-master-1=> COMMIT;
|
||||
COMMIT
|
||||
|
||||
However, do not forget to either commit or rollback your request after having done it.
|
||||
An opened transaction may have locked records in your tables,
|
||||
and your running database may wait for them to be released. It can cause a server to hang up indefinitely.
|
||||
However, do not forget to either commit or rollback your transaction after having done it.
|
||||
Open transactions may lock records in your tables
|
||||
and your running database may wait for them to be released. It can cause a server to hang indefinitely.
|
||||
|
||||
In addition, when possible, use your staging databases to test your requests first. It gives you an extra safety ney.
|
||||
In addition, when possible, use your staging databases to test your statements first. It gives you an extra safety net.
|
||||
|
||||
Run an Odoo server
|
||||
==================
|
||||
@ -173,6 +174,9 @@ In the above commands, the argument:
|
||||
* *--max-cron-threads=0* is to prevent the scheduled tasks to run,
|
||||
* *--stop-after-init* is to immediately shutdown the server instance after it completed the operations you asked.
|
||||
|
||||
More options are available and detailed in the
|
||||
`CLI documentation <https://www.odoo.com/documentation/11.0/reference/cmdline.html>`_.
|
||||
|
||||
You can find in the logs (*~/logs/odoo.log*) the addons path used by Odoo.sh to run your server.
|
||||
Look for "*odoo: addons paths*":
|
||||
|
||||
@ -184,4 +188,4 @@ Look for "*odoo: addons paths*":
|
||||
|
||||
**Be careful**, especially with your production database.
|
||||
Operations that you perform running this Odoo server instance are not isolated:
|
||||
Changes will be effective in the database. As much as possible, make your tests in your staging databases.
|
||||
Changes will be effective in the database. Always, make your tests in your staging databases.
|
||||
|
@ -14,8 +14,8 @@ into your code, without the need to copy-paste all their code.
|
||||
|
||||
Indeed, your custom modules can depend on modules from other repositories.
|
||||
Regarding Odoo, this feature allows you to add modules from other Git repositories into the branches of your repository.
|
||||
Adding these dependencies within your branch through submodules makes easier the deployment of your code and servers,
|
||||
as you can clone the repositories added as submodules in the same time you clone your own repository.
|
||||
Adding these dependencies in your branch through submodules makes the deployment of your code and servers easier,
|
||||
as you can clone the repositories added as submodules at the same time you clone your own repository.
|
||||
|
||||
Besides, you can choose the branch of the repository added as submodule
|
||||
and you have the control of the revision you want.
|
||||
@ -23,8 +23,8 @@ It's up to you to decide wether you want to pin the submodule to a specific revi
|
||||
to a newer revision.
|
||||
|
||||
In Odoo.sh, the submodules gives you the possibility to use and depends on modules available in other repositories.
|
||||
The platform will detect automatically that you added modules through submodules within your branches,
|
||||
and add them within your addons path so you can install them in your databases.
|
||||
The platform will detect that you added modules through submodules in your branches
|
||||
and add them to your addons path automatically so you can install them in your databases.
|
||||
|
||||
If you add private repositories as submodules in your branches,
|
||||
you need to configure a deploy key in your Odoo.sh project settings and in your repository settings.
|
||||
@ -44,7 +44,7 @@ In the upper right corner, click on the *Submodule* button, and then on *Run*.
|
||||
.. image:: ./media/advanced-submodules-button.png
|
||||
:align: center
|
||||
|
||||
A dialog with a form is shown. Fill the inputs as follow:
|
||||
A dialog with a form is shown. Fill the inputs as follows:
|
||||
|
||||
* Repository URL: The SSH URL of the repository.
|
||||
* Branch: The branch you want to use.
|
||||
@ -58,7 +58,7 @@ On Github, you can get the repository URL with the *Clone or download* button of
|
||||
.. image:: ./media/advanced-submodules-github-sshurl.png
|
||||
:align: center
|
||||
|
||||
At the moment, this is not possible to use this method to add private repositories.
|
||||
For now it is not possible to add **private** repositories with this method.
|
||||
You can nevertheless do so :ref:`with Git <odoosh-advanced-submodules-withgit>`.
|
||||
|
||||
.. _odoosh-advanced-submodules-withgit:
|
||||
@ -66,22 +66,22 @@ You can nevertheless do so :ref:`with Git <odoosh-advanced-submodules-withgit>`.
|
||||
With Git (advanced)
|
||||
---------------------
|
||||
|
||||
In a terminal, in the folder where is cloned your Git repository,
|
||||
In a terminal, in the folder where your Git repository is cloned,
|
||||
checkout the branch in which you want to add a submodule:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git checkout <branch>
|
||||
|
||||
Then, add the submodule using the below command:
|
||||
Then, add the submodule using the command below:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git submodule add -b <branch> <git@yourprovider.com:<username/repository.git> <path>
|
||||
$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>
|
||||
|
||||
Replace
|
||||
|
||||
* *<git@yourprovider.com:<username/repository.git>* by the SSH URL of the repository you want to add as submodule,
|
||||
* *<git@yourprovider.com>:<username/repository.git>* by the SSH URL of the repository you want to add as submodule,
|
||||
* *<branch>* by the branch you want to use in the above repository,
|
||||
* *<path>* by the folder in which you want to add this submodule.
|
||||
|
||||
@ -95,7 +95,7 @@ Replace
|
||||
|
||||
* <remote> by the repository on which you want to push your changes. For a standard Git setup, this is *origin*.
|
||||
* <branch> by the branch on which you want to push your changes.
|
||||
Most-likely the branch you checkouted in the above steps.
|
||||
Most likely the branch you used :code:`git checkout` on in the first step.
|
||||
|
||||
You can read the `git-scm.com documentation <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_
|
||||
for more details about the Git submodules.
|
||||
|
@ -32,16 +32,20 @@ There can be only one production branch.
|
||||
When you push a new commit in this branch,
|
||||
your production server is updated with the code of the new revision and is then restarted.
|
||||
|
||||
If your changes require the update of a module, such as for a change in a form view,
|
||||
If your changes require the update of a module, such as a change in a form view,
|
||||
and you want it to be performed automatically,
|
||||
increase the version number of the module in its manifest (*__manifest__.py*).
|
||||
The platform will then take care to perform the update.
|
||||
|
||||
This method is equivalent to perform an upgrade of the module through the Apps menu,
|
||||
or through the :code:`-u` switch of
|
||||
`the command line <https://www.odoo.com/documentation/11.0/reference/cmdline.html>`_.
|
||||
|
||||
In the case the changes in the commit prevent the server to restart,
|
||||
or the modules update fails,
|
||||
or if the modules update fails,
|
||||
the server is automatically reverted to the previous successful code revision and
|
||||
the database is roll-backed as it was before the update.
|
||||
You nevertheless have access to the logs of the failed updates so you can analyze what happened.
|
||||
You still have access to the log of the failed update, so you can troubleshoot it.
|
||||
|
||||
The demo data is not loaded, as it is not meant to be used in a production database.
|
||||
The unit tests are not performed, as it would increase the unavailabity time of the production database during the updates.
|
||||
@ -63,7 +67,7 @@ That way, you do not have to worry about sending test emails to your contacts.
|
||||
Scheduled actions are disabled. If you want to test them, you have to enable them or trigger their action manually.
|
||||
Be careful though: If these actions perform changes on third-party services (FTP servers, email servers, ...)
|
||||
used by your production database as well,
|
||||
you might make unwanted changes in your production.
|
||||
you might cause unwanted changes in your production.
|
||||
|
||||
The databases created for staging branches are meant to live at least two weeks.
|
||||
After that, they can be garbage collected automatically.
|
||||
@ -84,11 +88,9 @@ You can change this list of modules to install in your projects settings.
|
||||
When you push a new commit in one of these branches,
|
||||
a new server is started, with a database created from scratch and the new revision of the branch.
|
||||
The demo data is loaded, and the unit tests are performed.
|
||||
This verifies your changes do not break any of the features tested by them.
|
||||
|
||||
You can therefore verify your changes do not break any of the unit tests,
|
||||
and therefore any of the features tested thanks to them.
|
||||
|
||||
As for staging branches, the emails are not sent: They are intercepted by the mailcatcher.
|
||||
Similar to staging branches, the emails are not sent: They are intercepted by the mailcatcher.
|
||||
|
||||
The databases created for development branches are meant to live at least three days.
|
||||
After that, they can be garbage collected automatically.
|
||||
@ -110,7 +112,7 @@ you can either:
|
||||
|
||||
When your latest changes are ready for production,
|
||||
you can drag and drop your staging branch onto your production branch
|
||||
to merge and deploy in production your newest revisions.
|
||||
to merge and deploy in production your newest features.
|
||||
|
||||
If you are bold enough,
|
||||
you can merge your development branches into your production branch as well.
|
||||
@ -124,14 +126,15 @@ Odoo.sh will be notified when new revisions have been pushed in your branches.
|
||||
Merging a staging branch in the production branch only merges the source code: Any configuration changes you made in the
|
||||
staging databases are not passed to the production database.
|
||||
|
||||
If you test configuration changes in staging branches, and want them to be applied in the production, you have to:
|
||||
* Either, write the configuration changes in XML data files
|
||||
overriding the default configuration or views in your branches,
|
||||
and then increase the version of your module in its manifest (*__manifest__.py*) to trigger the update of the module
|
||||
when you merge your staging branch in your production branch.
|
||||
This is the best practice for a better scalability of your developments as you will use the Git versioning features
|
||||
for all your configuration changes, and therefore have a traceability for your changes.
|
||||
* Either, pass them manually from your staging to your production database, by copy/pasting them.
|
||||
If you test configuration changes in staging branches, and want them to be applied in the production, you have to either:
|
||||
|
||||
* write the configuration changes in XML data files
|
||||
overriding the default configuration or views in your branches,
|
||||
and then increase the version of your module in its manifest (*__manifest__.py*) to trigger the update of the module
|
||||
when you merge your staging branch in your production branch.
|
||||
This is the best practice for a better scalability of your developments as you will use the Git versioning features
|
||||
for all your configuration changes, and therefore have a traceability for your changes.
|
||||
* pass them manually from your staging to your production database, by copy/pasting them.
|
||||
|
||||
.. _odoosh-gettingstarted-branches-tabs:
|
||||
|
||||
@ -148,16 +151,16 @@ An overview of your branch history:
|
||||
.. image:: ./media/interface-branches-history.png
|
||||
:align: center
|
||||
|
||||
For each event, a status is displayed in the above right corner.
|
||||
For each event, a status is displayed in the top right-hand corner.
|
||||
It can provide information about the ongoing operation on the database (installation, update, backup import, ...),
|
||||
or its result (tests feedback, successful backup import, ...).
|
||||
When an operation is successful, you also got
|
||||
the possibility to access the database thanks to the *connect* button.
|
||||
When an operation is successful, you can access the database thanks to the *connect* button.
|
||||
|
||||
Mails
|
||||
-----
|
||||
A preview of the emails sent by your database. This is available only for your development and staging branches,
|
||||
as the emails of your production database are really sent instead of being intercepted.
|
||||
This tab contains the mail catcher. It displays an overview of the emails sent by your database.
|
||||
The mail catcher is available for your development and
|
||||
staging branches as the emails of your production database are really sent instead of being intercepted.
|
||||
|
||||
.. image:: ./media/interface-branches-mails.png
|
||||
:align: center
|
||||
@ -180,7 +183,7 @@ A viewer to have a look to your server logs.
|
||||
|
||||
Different logs are available:
|
||||
|
||||
* install.log: The logs of the database installation. In a development branch, the logs of the tests is included.
|
||||
* install.log: The logs of the database installation. In a development branch, the logs of the tests are included.
|
||||
* pip.log: The logs of the Python dependencies installation.
|
||||
* odoo.log: The logs of the running server.
|
||||
* update.log: The logs of the database updates. This is available only for the production database.
|
||||
@ -193,35 +196,41 @@ The fetching is automatically stopped after 5 minutes. You can restart it using
|
||||
|
||||
Backups
|
||||
-------
|
||||
A list of the backups available for download and restore, as well as the possibility to import a database.
|
||||
A list of the backups available for download and restore, as well as the ability to import a database.
|
||||
|
||||
.. image:: ./media/interface-branches-backups.png
|
||||
:align: center
|
||||
|
||||
Odoo.sh keeps backups for production databases: 7 daily, 4 weekly and 3 monthly.
|
||||
Staging databases and development databases are not backuped.
|
||||
Each backup includes the database dump, the filestore (attachments, binary fields), logs and sessions.
|
||||
|
||||
Staging databases and development databases are not backed up..
|
||||
You nevertheless have the possibility to restore a backup of the production database on your staging databases, for
|
||||
testing purposes, or to manually recover data that has been deleted unexpectedly from the production database.
|
||||
|
||||
The list contains the backups kept on the server your production database is hosted on.
|
||||
This server only keeps one month of backups: 7 daily and 4 weekly backups.
|
||||
|
||||
Dedicated backups servers keep the same backups, as well as 3 additional monthly backups.
|
||||
Dedicated backup servers keep the same backups, as well as 3 additional monthly backups.
|
||||
To restore or download one of these monthly backups, please `contact us <https://www.odoo.com/help>`_.
|
||||
|
||||
The *import database* feature accepts database archives in the format provided by the standard Odoo database manager
|
||||
(available for on-premise Odoo servers under :code:`/web/database/manager`)
|
||||
or by the Odoo.sh backup download feature.
|
||||
The *import database* feature accepts database archives in the format provided by:
|
||||
|
||||
* the standard Odoo databases manager,
|
||||
(available for on-premise Odoo servers under :code:`/web/database/manager`)
|
||||
* the Odoo online databases manager,
|
||||
* the Odoo.sh backup download button of this *Backups* tab,
|
||||
* the Odoo.sh dump download button in the :ref:`Builds view <odoosh-gettingstarted-builds>`.
|
||||
|
||||
Git commands
|
||||
============
|
||||
In the above right of the view, different Git commands are available.
|
||||
In the top right-hand corner of the view, different Git commands are available.
|
||||
|
||||
.. image:: ./media/interface-branches-gitcommands.png
|
||||
:align: center
|
||||
|
||||
Each can be copied in the clipboard to be used in a terminal,
|
||||
and some can be used directly from Odoo.sh by clicking the *run* button.
|
||||
Each command be copied in the clipboard to be used in a terminal,
|
||||
and some of them can be used directly from Odoo.sh by clicking the *run* button.
|
||||
|
||||
Clone
|
||||
-----
|
||||
@ -240,7 +249,7 @@ The *run* button is not available for this command, as it is meant to be used on
|
||||
|
||||
Fork
|
||||
----
|
||||
Creates a new branch based on the current branch.
|
||||
Create a new branch based on the current branch.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
:banner: banners/odoo-sh.jpg
|
||||
|
||||
.. _odoosh-gettingstarted-builds:
|
||||
|
||||
==================================
|
||||
Builds
|
||||
==================================
|
||||
|
Loading…
Reference in New Issue
Block a user