Managing Semaphore
This page explains how to set up notifications, manage users, and what settings are available in your Semaphore instance. On Semaphore Community Edition, we use the terms server, instance, and organization interchangeably.
Overview
In order to access any non-public resources on Semaphore you must be invited to the Semaphore instance.
If you are trying out Semaphore for the first time, we suggest the Guided Tour, where we show how to get started quickly.
A Semaphore instance has:
- zero or more projects
- one or more owners
- users role-based permissions
- a dedicated URL, for example,
https://semaphore.example.com
Managing users
Semaphore users a Role Based Access Control model to manage permissions at the instance level. You can add up to 500 persons to your instance.
To manage users in your Semaphore instance, open the server menu and select People. This tab shows users and groups in your instance along with their roles and groups.
How to invite users
To invite a user to your instance, press the Add people button.
- Type the email of the person you wish to invite
- Optionally, set a username. If not provided, the username is inferred from the email
- Press Create Accounts
- Take note of the temporary passwords. On first login, users are prompted to change their passwords
How to remove users
Users can only be removed from the instance when they don't own any projects. You must transfer the ownership of all the user's projects before they can be removed from Semaphore.
To remove users from the Semaphore instance:
- Transfer any project ownership the user may have to another individual. The user must not own any projects
- Open the server menu
- Select People
- Press the X button next to the username of the user you want to remove
Upon removal, access to all projects in Semaphore are revoked.
Only an Admins and Owners can remove users from the Semaphore instance.
How to change user roles
To change the role of a user, press the Change Role button next to the person.
See roles to learn what roles are available.
How to view permissions for roles
Semaphore provides pre-defined roles. These permissions cannot be changed. You can see what actions each role can perform by following these steps:
- Open the server Settings menu
- Select Roles
- In the Organization Roles section, press the eye button next to the role you want to examine
The actions with enabled checkbox are allowed for that role.
Instance settings
To access your settings, open the server menu and click on Settings.
General settings
This page shows the main settings for your instance. Here, you can change its name, and control how workflows run.
The URL of your server is the URL that leads to the Home page in your Semaphore instance. For example semaphore.example.com
Notifications
You can set up Slack and other webhook-based notifications to get your team notified whenever there project finishes running.
To learn more, see the notification documentation
Initialization agent
Some types of pipelines require initialization job to evaluate and compile the them before the workload beings.
Semaphore tries to pick the best type of agent automatically but you change it for the whole server. This is particularly useful when you are using self-hosted agents.
To change the initialization job agent for all your projects in your Semaphore instance, follow these steps:
- Select Initialization job from the settings menu
- Select the Environment type
- Select the Machine type
- Select the OS image (if available)
- Press Save
If you experience errors during initialization, see the initialization job logs to help troubleshoot the issue.
Project queues
You can use queues to control the order in which pipelines are executed in your instance. See named queues for more information.
Activity monitor
The activity monitor show the agent utilization and the currently running pipelines.
To view the activity monitor, open your server menu and select Activity Monitor.
In the activity monitor, you can see the machine quota utilization for your instance. Here, you can have an overview on how Semaphore Cloud machines and self-hosted agents are being used.
In the lower part of the activity monitor you can find the currently running workflows for all the projects in your instance. Use this to know what jobs are running, and see which ones are waiting in the queue to debug usage issues.