Step Three: Determine your desired deployment process
The next step is choosing how you want the staging and prod CI/CD deployment processes for your site to be executed. Padawan's goal is to work with the way site developers want to work instead of against them. To that end, we will offer several deployment types and will consider suggestions/requests for more. Reach out to us in the Padawan Help Channel if you have a code committing workflow that isn't currently supported. The table below shows the currently supported workflows.
Name | Description | GitLab CI Variables |
---|---|---|
By Tag (default) | Creating a tag in your site repo (matching the pattern 0.0.0 or v0.0.0) will run a pipeline and deploy your site to staging and/or production. This is the default option if you do not set PADAWAN_DEPLOYMENT_TYPE . | PADAWAN_DEPLOYMENT_TYPE=tag ![]() |
By Branch | Use this option if you want to have a "release" branch in your repo and deploy when code is committed to that branch. The default branch is master, but you can set it to any branch you like with the PADAWAN_DEPLOYMENT_BRANCH variable. | PADAWAN_DEPLOYMENT_TYPE=branch , PADAWAN_DEPLOYMENT_BRANCH=[branch name] ![]() ![]() |
Optional Configurations
(Optional) Manual deployment control gates
Padawan can support your deployment workflow if your site is not ready to embrace full CI/CD (deploying to production without a manual step). Using the CI/CD variables below you can customize your pipeline to have manual approval steps.
Gitlab CI/CD Variables | Default Value | Description | Example Pipeline Stage/Production |
---|---|---|---|
PADAWAN_STAGING_CONTROL_GATE | false | If true, add a manual step in the pipeline before deploying to staging | ![]() |
PADAWAN_PRODUCTION_CONTROL_GATE | true | If true, add a manual step in the pipeline before deploying to production | ![]() |
(Optional) Restricting deployment to certain users
In some cases you may only want certain site developers to be able to deploy to staging or production while still being able to commit source code. By default, anyone with access to run your project's pipelines will be able to deploy your site to staging or production. To support deployment restrictions, Padawan pipelines use the concept of GitLab CI environments to define a "staging" and "production" environment. Each of these environments can be protected to only allow a subset of users to run the deployment jobs. Go to Settings→CI/CD→Protected environments in your GitLab project to configure which users you want to have access to deploy to which environment.
Read more about protected environments: https://docs.gitlab.com/ee/ci/environments/protected_environments.html
(Optional) IL2 Single Sign-On (SSO)
Padawan can support sites deployment in IL2 Padawan SSO which requires site visitors to sign in to P1 SSO. Using the CI/CD variables below you can enable SSO feature.
Gitlab CI/CD Variables | Default Value | Description |
---|---|---|
REQUIRE_IL2_SSO | false | If true, deploy sites in IL2 Padawan SSO. Otherwise, deploy in IL2 Padawan (Public) |