Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D Dev Documentation
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • crnd-public
  • Dev Documentation
  • Wiki
  • Odoo Packager

Odoo Packager · Changes

Page history
Update Odoo Packager authored Jul 04, 2019 by Dmytro Katyukha's avatar Dmytro Katyukha
Hide whitespace changes
Inline Side-by-side
Odoo-Packager.md
View page @ 3cbc004c
......@@ -9,6 +9,86 @@ For detailed documentation look at [Docker Image repo](https://gitlab.crnd.pro/c
- [Odoo Apps Packager](https://gitlab.crnd.pro/crnd/docker/odoo-apps-packager)
## How to enable for your project
To create new assembly you have to:
1. Create new repository (we call them assemblies)
2. Add configuration file ([see](#configuration-format))
3. Add SSH deploy key with write access enabled
1. Create pair of SSH keys via `ssh-keygen -t rsa -C root@my-assembly-name`
2. Add generate key to [Deply Keys](https://docs.gitlab.com/ee/ssh/#deploy-keys) of assembly
3. Specify public key in [CI Variables](https://gitlab.crnd.pro/help/ci/variables/README#variables) `CI_SSH_PUBLIC_KEY`
4. Specify private key in [CI Variables](https://gitlab.crnd.pro/help/ci/variables/README#variables) `CI_SSH_PRIVATE_KEY`
4. Add create ssh private keys and public key to CI Variables
5. Add CI jobs to run packager (see [example](#example-ci-config)).
6. Disable ability to push on stable branches even for Maintainers. All changes have to be made through merge requests.
`NOTE`: we recommend to use *Squash* option on merges of assembly to reduce number of commits.
## Assembly workflow
Usually we use following workflow to update assembly
1. Create new branch from stable branch. For example: 11.0-update
2. Check that *packager* job have started on this branch. If it is not started, we have to start it manually from web: *CI/CD -> Run Pipeline*
3. When job is completed and repository have changes, then there new commit will be created on that branch (11.0-update)
4. Create merge request
5. Review changes
6. Merge to stable branch
7. Pull changes to Odoo intances that are running this assembly.
## Example CI config
```yaml
variables:
SERIES_BRANCH: '11.0'
CI_JOB_TOKEN_GIT_HOST: 'gitlab.crnd.pro'
PIP_CACHE_DIR: "${CI_PROJECT_DIR}/.hidden-pip-cache"
# Disable global cache
cache: {}
.pip_cache: &pip_cache_definition
cache:
key: ${CI_JOB_NAME}
paths:
- "${PIP_CACHE_DIR}"
stages:
- package
- test
- deploy
.do_package_definition: &do_package_definition
image: registry.crnd.pro/crnd/docker/odoo-apps-packager:d
stage: package
before_script:
- odoo-packager --info-only
- odoo-packager --version
script:
- odoo-packager
do_package_on_commit:
<<: *do_package_definition
except:
variables:
# Do not run package on commits created by packager itself
- $CI_COMMIT_MESSAGE =~ /\[odoo-packager\]/
refs:
- web
only:
- /^11.0-.*$/
do_package_manual_trigger:
<<: *do_package_definition
except:
- "11.0"
only:
- web
```
## Configuration format
The configuration file for packager have to be placed into the root of repository
......
Clone repository
  • CI Review App
  • Development Process
  • File Templates
    • .gitignore
    • gitlab ci.yml
    • odoo packager.yml
  • Odoo Packager
  • Set up develpment environment
  • Useful Links
  • Home
  • Процеси
    • Процес створення нового модуля в новому репозитарії
  • Тестові задачі
    • KPI
    • OKR
    • Weather Measurement
    • Робоче місце охорони