Manage workspaces
Use workspaces to share access to key Continuous Delivery resources, such as control repos, modules, and jobs, with the other members of your team. After setting up a workspace, add your team members to that workspace and give them the permissions needed to do their work.
Best practices for creating workspaces
These suggestions and best practices are intended to help you and your organization understand Continuous Delivery workspaces and use them effectively.
Workspaces support teams who write and deploy Puppet code to nodes managed by PE. Whether your organization has one team writing and deploying all Puppet code, or multiple teams writing and testing Puppet code with a central deployment team pushing changes to production, workspaces help ensure each team member has the Continuous Delivery resources they need.
Single team/repository recommendations
If your organization has one team writing, testing, and deploying all Puppet code or stores Puppet code in one source control repository, we recommend:
- Using one workspace for the whole team.
- Applying permissions carefully so each team member only has access to what they need.
Multiple teams/repositories recommendations
If your organization has multiple teams writing and testing Puppet code, multiple source control repositories for Puppet code, and/or a deployment team responsible for pushing Puppet code changes to production, we recommend:
- Having separate workspaces for each writing and testing team; ideally, one workspace for each control repository.
- Creating a separate workspace for the deployment team, and allow these team members to access all other workspaces.
- Applying permissions carefully so each team member only has access to what they need.
Set up a workspace
These steps explain how to create and add users to a workspace. If you need multiple workspaces, repeat this process as many times as you need.
Make sure all team members have created their individual Continuous Delivery accounts.
- Log in to the Continuous Delivery web UI, and select Manage workspaces from the workspaces drop down menu at top of the navigation bar.
- Click Add new workspace and give the workspace a
descriptive name (If necessary, you can change the name later on the
Settings page).
After creating a workspace, you are automatically set as the workspace owner. Other Continuous Delivery super users can access your workspace by navigating to the root console and clicking the name of your workspace in the Workspaces tab.
- Switch to your new workspace by clicking its name in the My workspaces list or by selecting it from the workspaces drop down menu.
- Follow the new workspace prompts at the top of the page to set up the
workspace's required resources:
- If necessary, Integrate with Puppet Enterprise.
- Integrate with source control.
- Configure job hardware specifically for this workspace or use global shared job hardware (If you haven't already done so, Configure global shared job hardware).
- Click Control repos > Add control repo, and add the control repo where the team stores Puppet code.
- Click Settings > Users, and add each team member as a user of this workspace.If a team member is missing, they have not created their Continuous Delivery account yet.
- Click Groups and create one or more groups. Assigning
appropriate permissions and users to each group. Make sure every team member is
assigned to at least one group.
If you add a user to a workspace without adding them to a group, they get a 403 error when signing in to Continuous Delivery.
- Invite the team members to sign in to Continuous Delivery. They'll now see the new team workspace in the workspaces drop down menu on the Continuous Delivery web UI.
According to their group permissions, team members can view and interact with the resources you added to the workspace.
To delete workspaces, navigate to Settings > Workspace > Delete workspace. Only super users or the workspace owner can do this.
Transfer workspace ownership
When a workspace owner changes teams, leaves your organization, or is otherwise no longer the right person to manage a workspace, you can reassign workspace ownership to a different Continuous Delivery user.
To transfer workspace ownership, you must have root or super user permissions allowing you to access the root console and perform this action.
- Log into the root console by signing in as the root user or by selecting Root console from the workspaces drop down menu on the Continuous Delivery navigation bar.
- Click Workspaces, locate the workspace you need to
reassign, and click Reassign workspace
.
- Select the new owner's username and click Save changes.
After transferring ownership, the original workspace owner is automatically removed from the workspace. The new owner can add the former owner as a workspace user by navigating to Settings > Users.