All articles

Getting Started

What is CICDoo Getting started: the onboarding wizard The Dashboard and Infrastructure Map

Concepts

Production, staging and development stages Domains, subdomains and SSL Odoo versions and editions (Community vs Enterprise) Workspaces and team collaboration

Servers

Adding a server Server domains and DNS Using a load balancer Server actions: deploy, logs and charts Deleting a server

Projects & Git

Creating a project Connecting GitHub Project GitHub settings and webhook Connecting GitLab Branches and instances Tagging and filtering projects High availability with app nodes Project environments, extensions and deletion

Instances & Console

Creating an instance Restarting, stopping and removing an instance Merging branches between stages Web IDE and remote access SSH access to instances Instance settings explained Deployments and the job queue

Agent Tasks

What agent tasks are Setting up agent tasks Running a task and reviewing the result Agent time and top-ups Agent insights and task filters

Monitoring & Backups

Monitoring your instance Backups and restore S3 storage, uploads and bulk backup actions Alert notifications (email and SMS)

Workspaces & Permissions

Inviting workspace members Member permissions and resource access A member cannot see or use a resource Audit log and server activity

Account & Security

Two-factor authentication (2FA) Profile and integrations settings Passwords and account recovery

Billing & Plans

Plans and pricing Upgrading and managing your subscription If a project subscription goes unpaid The channel partner program Onboarding a client as a partner

Support & Tickets

Opening a support ticket Getting help from the CICDoo team

Troubleshooting

Troubleshooting: cannot connect a server Troubleshooting: a deployment failed Troubleshooting: git push fails with 403 after moving a repository Troubleshooting: my instance is down or slow Troubleshooting: domain or SSL problems

Troubleshooting

Troubleshooting: git push fails with 403 after moving a repository

Why push returns 403 after you transfer or rename a GitHub repository, and how to repoint it with Re-sync from GitHub so pushes work again.

Why fetch works but push fails

When you transfer a repository to an organization, or rename it, on GitHub, the old owner/repo path keeps working as a redirect for fetch and clone. Pulls keep working and everything looks fine, until you push.

Push is not redirected. GitHub rejects a push to the old path with a 403 (permission denied), because CICDoo and your instances still have the old owner stored as the remote. The fix is to point CICDoo at the new location and let your instances pick up the change.

Fixing the main repository

You need the Project settings permission in a workspace.

  1. Open the project in the Console and click Project Settings at the bottom of the sidebar.
  2. Open the GitHub tab. The Repository field is read-only on purpose.
  3. Click Re-sync from GitHub. CICDoo asks GitHub for the repository's current name, updates the owner, and the field refreshes to the new owner/repo.
  4. Restart each instance of the project: in the instance Console click Restart and choose a restart. On restart the instance repoints its checkout to the new owner. Your files and uncommitted changes in the editor are left untouched; only the remote URL changes.
  5. Run your push again from the editor terminal. It should succeed instead of returning 403.

See Restarting, stopping and removing an instance.

Fixing a moved submodule

If a repository listed in Extra Repositories moved, you usually do not have to do anything: a running instance detects the move and repoints that submodule on its own within about ten seconds, so the next push works.

If the submodule lives on a host other than GitHub, or you want to be explicit:

  1. Update its URL where it is listed: the project-wide list is Extra Repositories on the Advanced tab of Project Settings; an instance-specific list is Extra Repositories on the Odoo sub-tab of the instance's Settings tab.
  2. Save the change (Save Changes in Project Settings, or Save Odoo Configuration in the instance settings).
  3. Restart the instance. Extra repositories are re-cloned on every restart, so the new URL takes effect immediately.

An instance-specific list replaces the project's list for that instance, it is not merged with it. See Instance settings explained.

If Re-sync cannot find the repository

Re-sync uses the GitHub credential connected for the project. If that credential cannot see the moved repository, for example because it was transferred to an organization the token has no access to, Re-sync reports that it could not find the repository.

  1. Grant your GitHub connection access to the new owner, or reconnect GitHub.
  2. If the repository now lives in a different organization from your other projects, choose Classic token only under Authentication on the same GitHub tab, enter a Token for this project, and click Save Changes.
  3. Click Re-sync from GitHub again.

See Connecting GitHub.

Related: Project GitHub settings and webhook, Connecting GitHub, Instance settings explained.

If you get stuck, open a support ticket from the Tickets page or the chat widget.

Still stuck? Open a ticket from the app or talk to an engineer.