How to create a project
This page describes how to create a new project, and populate it with two environments: Production
and Develop
. The Production
environment is protected. Development work is done in the Develop
environment, and then reflected in the Production
environment through a merge request.
Note
You can create as many environments in a project as you need. You can mark them as protected, and name them as needed, to align with your own development processes. This how-to simply shows one example project.
Watch a video
Creating a project
To do anything useful with Quix, you'll need at least one project, and one environment. You can think of a project as corresponding to a Git repository, and an environment as corresponding to Git branch within that repository.
-
Sign up and log into Quix.
-
Click on
+ New project
. -
Give your project a name, such as
My project
. -
Select either Quix-hosted Git, or a third-party Git provider. The third-party provider must support SSH keys.
-
Click
Create project
.
You are taken automatically into the Environment settings
wizard to create your first environment.
Creating the Production
environment
The environment corresponds with a branch in your project. Typically you'll have multiple environments. As well as correpsonding to a branch, an environment contains your selected Kafka hosting options, and also the storage requirements.
-
Enter the environment name,
Production
. Note: it can be named anything that suits your own development processes. -
Select the repository branch. By default this is
main
. Leave this as the default value. -
Check the
This branch is protected
checkbox. This prevents modifications directly to your production environment. -
Click
Continue
. -
You can now select your broker settings for the environment. The options are Quix-hosted Kafka, Self-hosted Kafka, and Confluent Cloud. Select
Quix Broker
and then clickContinue
. -
Select the
Standard
storage option, and then clickCreate environment
.
Creating the Develop
environment
You'll now create an environment in which you can do your development work (remember, the production environment is protected in this example, so you can't change it directly).
-
There are various ways to add an environment. One way is to click the kebab menu next to the panel that displays your environments:
-
Now click
+ New environment
. -
Enter the environment name,
Develop
. Note: it can be named anything that suits your own development processes. -
Select the repository branch. Activate the repository branch dropdown menu, and click
+ New branch
. -
In the
New branch
dialog enterdev
as the branch name. In this case you want to branch frommain
. Note: again, values entered here can be anything that suits your development process, for example, you may create branches from branches if required. -
Click
Create branch
. -
As you are going to do development work here, leave the
This branch is protected
checkbox clear. -
Click
Continue
. -
You can now select your broker settings for the environment. The options are Quix-hosted Kafka, Self-hosted Kafka, and Confluent Cloud. Select
Quix Broker
and then clickContinue
. -
Select the
Standard
storage option, and then clickCreate environment
.
You have now created your Develop
environment.
Performing a merge request
Once you have carried out development work, you will want to have those changes reflected in production. As your Production
environment is protected you have to do this by creating a merge request.
-
Click the kebab menu next to the panel that displays your environments.
-
Select
Merge request
. -
Select a source and target environment. In this example the source is
Develop
and the target isProduction
. -
Click
Create pull request
.At this point, you will be taken into your Git provider where you can review the merge commit. Use your usual development processes to review and approve the merge.
Tip
If using the Quix-hosted Git provider and you are asked to log into Gitea, you need to obtain your Git credentials. To do this click on your profile image in Quix, and then select
Manage Git credentials
. Generate a password, and use the email and generated password to log into Gitea.
Syncing your environment
When you select your Production
environment, you will see that it is now flagged as out of sync
with the Git repository. You now need to synchronize the environment to have the changes submitted using the merge commit reflected in the Quix view of the environment. To do this:
-
In the top right corner click the blue
Sync environment
button. TheSync environment
dialog is displayed. -
Review the changes that will be made to the
quix.yaml
file. Note: thequix.yaml
file is an important file that defines the entire pipeline in your environment. Your pipeline view in Quix is built from this file. -
Click
Sync environment
. You also have the options of editing the YAML or exiting the sync process. -
Once synchronized, click the
Go to pipeline
button.
The pipeline in Production
now reflects the work that was done in the Develop
environment.