11 Mar 2020 ยท Software Engineering

    Activity Monitor: Visualizing Your Team’s Running CI/CD Processes

    3 min read

    Growth always has its challenges. With more developers, there are more ongoing projects, branches and CI builds. And sometimes while you work, you find yourself wanting to know what else is in the pipeline on Semaphore.

    For example, you’ve just merged a pull request, which created a new commit on master, and Semaphore launched a new build to run your tests. You’ve already configured continuous deployment, so you just need to wait a little bit until that change is automatically delivered to your users.

    Your excitement drops a bit though, as you realize that your build is probably being blocked by another already running continuous deployment process. So you want to find out if that is the case, and if so, when can you expect to have your turn.

    Even though a project’s page on Semaphore shows you a detailed status of ongoing activities, getting a big picture across all projects is not easy. What seems like a simple question becomes more complex when we consider that builds can be made of many parallel jobs, and that Semaphore is running builds and deploys sequentially. So knowing your current work’s place in the grand scheme of CI processing order can be tricky.

    This is why we’ve created the Activity Monitor.

    CI/CD Activity Monitor on Semaphore

    Much like the process monitor on your desktop computer, Activity Monitor displays all CI/CD processes that are currently running on Semaphore: builds, deploys, and active SSH sessions.

    Let’s go through the screenshot above:

    1. In the “Upcoming” section, we have one build which has not yet started, since there is another one on the same branch that is still running.
    2. There are two running CI builds with 35 parallel jobs, where one (first on the list) is partially started, with 2 jobs waiting still waiting for capacity. The total time the last of the waiting jobs has been waiting to run is shown in the “Waiting Time” column.
    3. Deploys always have priority over builds on Semaphore, so a deploy to production is labeled accordingly.
    4. Another big build has been partially completed, with 8 jobs already done.
    5. A yellow stripe highlights your work โ€” builds or deploys which contain your commits.
    6. Current account’s capacity is shown with a colorful stripe at the bottom of the screen (the more Boxes your plan has, the more you can run in parallel).

    Since Activity Monitor is most useful when your work is partially blocked by other processes, you will see link to it on pages of affected builds and branches. You can also always access Activity Monitor from the left sidebar on your organization’s profile page.

    We hope that Activity Monitor will provide you with more insights into how your work flows through Semaphore. If you have any questions or feedback, please get in touch by sending us an email or posting a comment below.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Writen by:
    Marko Anastasov is a software engineer, author, and co-founder of Semaphore. He worked on building and scaling Semaphore from an idea to a cloud-based platform used by some of the worldโ€™s engineering teams.