4. Trigger the workflows
After setting up your environments and variables, you can deploy sfops using this workflow:
Deploy to All Environments
Release and Deploy to Environments in ORGS
Workflow: release-please How to trigger:
Go to Actions → "release-please" from the left sidebar
Click "Run workflow" for manual trigger
Or it runs automatically on pushes to main branch
This workflow:
Creates releases using release-please (when changes are detected)
For each environment in
ORGSarray:Builds sfops and sfops-lite Docker images from base sfp-pro images
Uses
BASE_REGISTRY,BASE_REPO,BASE_IMAGE_NAME, andBASE_LITE_IMAGE_NAMEvariables to pull the base imagesTags images with version number (e.g.,
31.2.0) andlatestPushes built images to ghcr.io
Syncs sfops-gh-actions and sfops-dashboard to the environment
Important for Forked Repositories: If you have forked sfp-pro and are using custom image names, ensure you set both:
BASE_IMAGE_NAME: For the main sfops image (defaults tosfp-pro)BASE_LITE_IMAGE_NAME: For the lite sfops image (defaults tosfp-pro-lite)
These variables are crucial for clients who have forked sfp-pro with different image names.
Note: Add all your environments (production, test, alpha, etc.) to the ORGS array variable in your repository settings.
Troubleshooting Docker Builds
If your Docker build fails with errors like:
403 Forbiddenornot foundfor base images:Ensure
BASE_REGISTRY_USERNAMEandBASE_REGISTRY_TOKENsecrets are set correctlyVerify the base image exists at the specified registry
Check that your PAT has
read:packagespermission for the base registry
denied: permission_denied: write_packagewhen pushing:This happens when
GITHUB_TOKENdoesn't have access to push to existing packagesSolution 1 (Recommended): Set
DOCKER_PUSH_TOKENsecret with a PAT that haswrite:packagespermissionSolution 2: Grant the repository write access to the package:
Go to:
https://github.com/orgs/YOUR_ORG/packages/container/PACKAGE_NAME/settingsUnder "Manage Actions access" section, click "Add Repository"
Add your
sfopsrepository with Write roleRepeat for both
sfopsandsfops-litepackages
Authentication errors when pushing:
Ensure
DOCKER_PUSH_TOKENsecret is set with a valid PATVerify your PAT has
write:packagespermissionIf using SSO, ensure the PAT is authorized for your organization
Base Image Configuration:
Production uses:
sfp-pro:latest(or your custom base via BASE_IMAGE_NAME)Test/Alpha uses:
sfp-pro-rc:development(or your custom RC base via BASE_IMAGE_NAME_RC)
These variables will be automatically set up during the set up of sfops in your repository by the FLXBL team. This guide is only applicable when you are setting up a self managed instance of sfops
Last updated