Simplify and automate Odoo.sh deployment using GitLab and GitHub.
Project description
odoo-sh-gitlab-ci
This package simplifies and automates the process of updating Odoo.sh branches by interacting with a GitLab repository while using a GitHub repository as a container for multiple repositories. It ensures seamless management of submodules and branch synchronization, making the deployment process more efficient and maintainable.
Installation
Install the package using pip:
pip install odoo-sh-gitlab-ci
Usage
The package provides a command-line tool odoo_sh_deploy that can be used in two modes:
- Initialization Mode (
--initialize): Prepares the environment by configuring the SSH agent, adding SSH keys, and setting up Git configurations. - Deployment Mode: Performs the actual deployment to Odoo.sh.
Setting Up variables.sh
To simplify the configuration of environment variables, you can create a file called variables.sh in the root of your repository. Define your variables in this file using the following format:
export PRIVATE_DEPLOY_KEY="your_private_ssh_key"
export GITHUB_REPO="git@github.com:youruser/yourrepo.git"
export GITHUB_REPO_NAME="yourrepo"
export VERSION="18.0"
Example variables.sh
export PRIVATE_DEPLOY_KEY="-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA1o9qX..."
export GITHUB_REPO="git@github.com:youruser/yourrepo.git"
export GITHUB_REPO_NAME="yourrepo"
export VERSION="18.0"
Important: For security reasons, it is recommended to define PRIVATE_DEPLOY_KEY as a protected variable in GitLab CI/CD settings instead of hardcoding it in the variables.sh file.
GitLab CI Configuration
To use odoo-sh-gitlab-ci in a GitLab CI pipeline, follow these steps:
-
Add the
variables.shfile to Your Repository: Ensure thevariables.shfile is located in the root of your repository. -
Update
.gitlab-ci.yml: Use the following configuration in your.gitlab-ci.yml:odoo_sh_deploy: stage: pre tags: - odoo before_script: - 'command -v ssh-agent >/dev/null || ( apk add --update openssh )' - eval $(ssh-agent -s) - source variables.sh - pip install --root-user-action ignore odoo-sh-gitlab-ci - odoo_sh_deploy --initialize script: - source variables.sh - odoo_sh_deploy
before_script: This section installs the package and initializes the environment using the--initializeflag.script: This section performs the deployment usingodoo_sh_deploy.
-
Example Pipeline Stages: Here’s a full example of a pipeline that uses
odoo-sh-gitlab-ci:stages: - pre odoo_sh_deploy: stage: pre tags: - odoo before_script: - 'command -v ssh-agent >/dev/null || ( apk add --update openssh )' - eval $(ssh-agent -s) - source variables.sh - pip install --root-user-action ignore odoo-sh-gitlab-ci - odoo_sh_deploy --initialize script: - source variables.sh - odoo_sh_deploy
License
This project is licensed under the AGPL-3.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_sh_gitlab_ci-1.0.18.tar.gz.
File metadata
- Download URL: odoo_sh_gitlab_ci-1.0.18.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b6c5d57ac04a257493f827732e6251c1267da7ef9393c39ed2abf2c8f293adb
|
|
| MD5 |
c960917c6bb96db36f317479c34f5557
|
|
| BLAKE2b-256 |
d1d3e7d1e4f2801fa536dcd61b9f4c66110ba84fc845dea6037452645cb131fb
|
File details
Details for the file odoo_sh_gitlab_ci-1.0.18-py3-none-any.whl.
File metadata
- Download URL: odoo_sh_gitlab_ci-1.0.18-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5256002931178fa45cef2fb2b89c3835bcf959c1decfae6398542d505a709703
|
|
| MD5 |
d3648f329cbf76f64107468259554375
|
|
| BLAKE2b-256 |
bc4c0eda647c92a055b2a42ab8ab91c88af121189c9e3ebfeff8b1cf8166f7ce
|