With Semaphore, you can easily automate the process of software testing and delivery in the cloud. It is designed to be easy to use and engineered for high performance.
And now with cutting-edge Docker support, your team has the right platform to deliver the next-generation of applications and services.
You push your code to a remote repo hooked up with Semaphore…
Compile — Run dependency containers — Run unit tests — Code style checks — Security checks — Acceptance tests
Prepare assets — Create container image — Upload to Cloud — Docker Push
Optionally, your team gets a notification by Email, Slack or both.
Find bugs before they reach your users. Whenever somebody pushes new code to GitHub or Bitbucket, Semaphore immediately runs all tests, along with any security and style checks that you’ve defined. You don’t have to manually add and remove the corresponding branch, as Semaphore keeps an eye on your repository and does that for you automatically. Your project can always be on the right track.
Once you start using Semaphore, every build automatically becomes a part of the GitHub or Bitbucket pull request review process. As a developer, you’ll know that code is ready for review and that it will be tested once again after being merged in the main branch. As a reviewer, you can see at a glance that a given branch is green, and therefore passes all the checks that you've defined as mandatory for your project. That lets you concentrate on higher-level concerns when reviewing the code.
Test multiple projects and branches simultaneously as you push new commits. To cut your test time in half and more, simply schedule your build commands to run in parallel jobs. With support for up to 128 parallel jobs, Semaphore helps your project move forward fast, with a peace of mind.
Builds and deploys on Semaphore run on a feature-rich platform — a range of 100+ open source programming languages and tools preinstalled and available out of the box, based on a LTS (long-term support) version of Ubuntu Linux. The platform is documented down to a micro version number and updated every month. Find a complete, detailed list in Semaphore docs.
So whether you need to test your code on two versions of Java, your new microservice requires the latest version of Elixir, or the front-end team is working on an Angular.js app, you don’t need to go through hoops to accommodate your build configuration with a CI provider. In most cases Semaphore supports your builds without any installation and configuration overhead.
While Semaphore analyzes and suggests a working configuration for every new project, it’s just as easy to customize the build to your liking. Install any package or run arbitrary binaries in your custom setup. Drag and drop commands across parallel jobs in an intuitive graphical configuration editor. Define environment variables, and add custom configuration files and SSH keys — all of which can be safely encrypted. And to make it easy for you to interact with the platform and troubleshoot your builds, Semaphore lets you SSH directly into the build environment.
By default Semaphore automatically builds every new branch in your Git repository. However you can easily customize that behavior to your liking. With priority branches, you can tell Semaphore which ones are more important. Whitelist branch name patterns, or completely turn off automatic building of new ones. Want to schedule daily or hourly builds? Just a few clicks.
Work of your team gets into the pipeline in the order that it arrives, unless you tell Semaphore to do it differently.
Semaphore’s custom-made platform for Docker equips you with unrestricted access to latest Docker CLI toolchain, including container image caching. Combine that with Semaphore’s state-of-the-art performance, and you finally have a Docker CI/CD platform that you can rely on. In-app integrations with AWS, Docker Hub, Google Cloud and Quay.io help you quickly set up a full continuous deployment pipeline for your container-based apps and microservices. Read more about using Docker on Semaphore.
Build your Docker images on Semaphore and push them to your Docker registry for deployment. Built-in integrations let you configure deployment via Docker Hub, AWS Elastic Container Service, Google Container Registry and Quay.io in just a few clicks.
Safety net provided by automated CI builds: check. Next up: move even faster with continuous deployment. With a unified workflow for the entire team, Semaphore enables your team to roll-in revisions and gain feedback faster by automatically deploying verified versions of code.
Use Semaphore's built-in integrations with AWS, Cloud66, Docker and Heroku to quickly set up deployment pipelines for the whole team. Or do something completely custom. In just a few minutes, any member of the team will be empowered to deploy new features, or test out their work in progress on staging server.
Certain branches are short-lived and need to be tested on a staging server. Or you don't feel like automatically pushing new code to production. So just initiate a manual deploy with a single mouse click.
Sometimes you need to check if there was a bad deploy. Or you are curious if that bug fix you've been waiting for has hit production. It's always right there on Semaphore, in your team’s common changelog.
Organization accounts simplify project management inside companies and other groups. With a team-based permission system, you can easily specify and delegate project responsibilities while centralizing payment. The combination of grouping people into teams while giving teams different access levels offers flexibility to match the company structure of any size.
Get a clear-eyed view of your team's progress with a unified view of commits, test results and deploy history for every project. Whether you’re looking at a global dashboard showing status across all projects relevant to you, a feature branch or latest deployment to production, live updates make sure you never miss a thing.
Semaphore has built-in integrations with popular group communication tools such as Slack and Hipchat, so that your team is always in the loop. Know when the build failed or has been fixed. Want to know only about deploys to production on selected projects? Semaphore has you covered. You can also create a custom integration with your tools and workflow using Semaphore's webhooks and API.
Semaphore works without any configuration files and changes in your source code. With its' automatic configuration for a wide range of projects, you can set up continuous integration in a minute.
Simplify your infrastructure by eliminating the need to configure, maintain and scale custom CI/CD servers and environments. Focus on what matters the most — delivering value to your users.
Human-frequency product and article updates. Unsubscribe at any time.
Unlimited projects and collaborators, no-obligation 30 day free trial for private code. Or work on open source without limits.