Set Up Previews
Option 1- Compose - A configuration-as-code YAML -
docker-compose.uffizzi.yml- based on Docker Compose (version 3.9) . Unless otherwise noted, Uffizzi recognizes Docker Compose syntax.
Option 2- Templates - Configurations created and managed in the Uffizzi Web Interface (GUI).
Option 1- Bring Your Own Build (BYOB) - Use your existing CI/CD to handle the Build.
*This is for users who have custom builds or who are using a VCS that is not yet integrated with Uffizzi.
Option 2- Use Uffizzi's Integrated Build - Uffizzi will build from source from your connected VCS.
*This is for users on Github who want Uffizzi to manage the full processs.
Integrations and Webhooks¶
Out-of-the-box Uffizzi supports integrations with Github, Docker Hub, AWS Elastic Container Registry, Azure's Container Registry, and Google's Container Registry. Ensure you have connected to the relevant Repos and Registries at the Account Level Settings.
Uffizzi will automatically set-up webhooks with Github and Docker Hub. For ECR, ACR, and GCR the user must manually set-up the webhooks.
Write Your Compose - Start with your
docker-compose.ymland create a new file named
docker-compose.uffizzi.yml. Check References and Examples for detailed information on how to write your
uffizzielement(s) and save your
docker-compose.uffizzi.ymlat the top level of the
mainor primary branch in your repository.
Connecting Your Compose¶
- Within the Uffizzi UI go to Projects/Specs/Compose and select
new composeto connect to your
docker-compose.uffizzi.ymlwhich should be stored in your git repository. To connect to your repository see Source Code Integrations.
After adding the repo, branch, and path, select the
validate button - Uffizzi will confirm if your file is valid or will provide error messaging that indicates what needs to be addressed.
If you want
uffizzi_app to recognize changes to your
docker-compose.uffizzi.yml check the Box for "Auto-deploy updates".
Save your setting and return to Project Overview.
Initiating a Trigger-based Preview¶
Open Pull Request Trigger¶
If you have enabled a Pull Request trigger in your compose you can initiate a preview by opening a
pull request within any git repository that is invoked by your
The webhook within your git repo will inform
uffizzi_app of the
Open pull request and initiate the Preview.
Bring Your Own Build
If you have enabled a Tag-based trigger the webhook within your image registry will inform
uffizzi_app of the new image tagged with
uffizzi_request_# and will initiate the Preview.
When a Preview is triggered
uffizzi_app will show the new Preview and its status:
The Preview will take a few minutes to finish deploying - the build process is typically the longest part of the sequence. You can monitor the status by clicking on your Preview. Within the UI you can monitor the activity log, build logs, individual container logs, and event logs.
When the Preview has finished deploying, the Preview URL turns blue - the link is now live and you can securely access your Preview. Please note that if you have deployed multiple containers, some of those containers may still take time to fully initiate after the Preview URL goes live.
Deleting a Trigger-based Preview¶
Close Pull Request Deletion Trigger - If you have enabled deletion based on a Close Pull Request trigger in your compose your Preview will be deleted by merging or closing the respective
pull request that initiated the Preview.
Time-based Deletion Trigger - If you have enabled time-based deletion, your Preview will be deleted after the specified amount of time. The range is 1h to 720h.
3- You can always delete a Preview by selecting the
trash icon in the UI.
If you have enabled both a
Close Pull Request deletion trigger and a
Time-based deletion trigger,
uffizzi_app will recognize whichever trigger fires first.
*Note- for Previews initiated with a
Tag-based trigger the only programmatic deletion is
Time-based. This will be improved with future releases.
Initiating a Manual Preview¶
Alternatively, you can select
new preview from the UI and choose a compose from within your connected repository to deploy a preview. If you use this method to initiate a preview you must manually delete it from the UI.
Deleting a Manual Preview¶
You can always delete a Preview by selecting the
trash icon in the UI.