You can use any CI with SOAJS as much as you provide the following environment variable to our CD script or you can make your own script and call our CD API.
Environment variables that you will need to get from SOAJS console and set them up on each repository.
SOAJS_URL
SOAJS_key
SOAJS_cd_auth
SOAJS_repo_auth (optional)
...
SOAJS_repo_branch
SOAJS_repo_commit
SOAJS_img_tag
SOAJS_img_name
SOAJS_img_prefix
SOAJS_env_list = []
Case1: Calling soajs CD required with the following params:
key, cd_auth, name, version, type
branch
commit
image_tag (optional)
Check all the env where this item is deployed from this branch and
if cd strategy is auto, rebuild and add notification
if image tag is sent change it
if cd strategy is notify, add notification
Add a ledger record with a complete report about what happened.
Case2: Calling soajs CD required with the following params:
key, cd_auth, name, version, type
branch
commit
env_list []
image_tag (optional)
Check all the env from the env_list if this item is deployed from this branch and
if cd strategy is auto, rebuild(get last commit) and add notification
if image tag is sent change it
if cd strategy is notify, add notification
if deployed from another branch in provided env do nothing
Add a ledger record with a complete report about what happened.
Case3: Calling soajs CD required with the following params:
key, cd_auth, name, version, type
tag
env_list []
image_tag (optional)
Check all the env from the env_list if this item is deployed from a tag and
if cd strategy is auto, rebuild(change to the provide repository tag) and add notification
if image tag is sent change it
if cd strategy is notify, add notification
if deployed not from tag in provided env do nothing
Add a ledger record with a complete report about what happened.
Case4: Calling soajs CD required with the following params:
key, cd_auth, name, version, type
env_list []
image_tag
image_name
image_prefix
Check all the env from the env_list if this item is deployed from this image
if cd strategy is auto, rebuild(change to the provide image tag) and add notification
if cd strategy is notify, add notification
if deployed not from this image do nothing
Add a ledger record with a complete report about what happened.
On redeploy:
if image name or repository name do not match the saved deployment configuration of the item, do not allow redeployment
if image tag or repository (tag or branch) do not match the saved deployment configuration of the item, display a message and show the save configuration
On re-configure:
display if image info (prefix, name, tag) do not match
display if repository info (repo, branch or tag) do not match
all the remaining information will be driven from the save configuration
later on we will support discrepancy comparison for the following:
image info
repository info
volume info
ports info
env info
args info
...