To use CircleCI CI/CD, you need to deploy the application with DuploCloud as a Service and test that it works as expected.
{% hint style="info" %} CircleCI CI/CD is recommended only for upgrades of container images and to run tests that can be written to run before or after. {% endhint %}
In order to call a DuploCloud API from CircleCI, you need to obtain and configure an API token.
{% content-ref url="../../access-control/api-tokens.md" %} api-tokens.md {% endcontent-ref %}
- (Recommended) Create a "service account" user in DuploCloud to own the API token.
- Give the DuploCloud user access to the desired Tenant. See adding Tenants to a user.
- Create an API token for that user. See creating API Tokens.
- Add a CircleCI Environment Variables in the Context created for the organization, to allow CircleCI pipelines to communicate with the DuploCloud Portal.
{% hint style="info" %}
Note: A 'service account' user in DuploCloud is just a user whose user name is not an email address, such as github-bot
or my-api-user
. These users are not able to log in.
{% endhint %}
{% content-ref url="../../access-control/tenant-access/" %} tenant-access {% endcontent-ref %}
- Login to the CircleCI portal and select your organization.
- Click on Organization Settings in the left-hand sidebar.
- Click on Create Context button and create context by providing a name.
- Click on the newly created context and scroll to Environment Variables section.
- Click Add Environment Variable.
- Set an Environment Variable name and value for
DUPLO_HOST
(the value is the DuploCloud Portal URL). - Set an Environment Variable name and value for
DUPLO_TOKEN
(the value of the token created for the above service account). - After adding the environment variables you should see them displayed in the Organization Settings section below.
{% hint style="warning" %} The rest of this procedure assumes that you have added the above two environment variables. {% endhint %}