To get started with Wercker, you should understand the main features that Wercker provides for building software delivery pipelines. This page outlines Wercker’s main features.
Main Wercker Features: Steps, Pipelines, and Workflows
Steps are self-contained Bash scripts or compiled binaries for accomplishing specific automation tasks, defined in the wercker.yml file of your application. Steps can be written manually or borrowed from the community via the Steps Registry.
- You can use internal steps for interaction with your Docker Container.
- You can use script steps to automate shell commands.
- You can create custom steps to address specific challenges.
Pipelines are the heart and soul of Wercker. They’re where you define the actions (steps) and environment for your tasks. They are also often where you define your tests, builds and deploys. They are an aggregate of steps and will pass or fail based on the steps within. A great advantage of Wercker’s pipelines is that the builds can be run concurrently, allowing for parallelized testing to save valuable development time.
Workflows provide you with a mechanism for managing your pipelines. With Workflows, you can connect your pipelines in series and parallel to form complex, end-to-end CI/CD flows that can take your applications from source to production.
When using Wercker, think of running in the order of steps, pipelines, and workflows. You need steps and an environment for your pipelines, and you need pipelines for your workflow to connect them and form the flows you need to go from development to production.
Additional Wercker Features
In addition to the features described above, Wercker offers other tools and features with which you should familiarize yourself in order to get the most out of the Wercker platform.
Wercker uses Git integration to help facilitate continuous integration for your app. This includes support of both GitHub and Bitbucket, and version control. For more information about Git Integration, please take a look at the Repository setup chapter. This feature is important when considering access to pull requests and build status.
You can replicate the SaaS environment locally with the Wercker CLI tool. Debugging and testing pipelines before deploying are key advantages of using this feature. The Wercker CLI is easy to install. This open source tool is vital to replicate any condition in the local environment. Use the CLI tool to maintain an effective development/production cycle.
If you use Docker, then you will enjoy the power of Wercker. With Wercker’s Docker integration, you can build minimal containers, which keeps size manageable, and is done through only accessing an output file from a pipeline execution. You can also work with private containers and registries safely. Wercker also maximizes your workflow through deployment to schedulers. Multiple tags help with version control, and smooth debugging.
Slack has become a major part of a development team’s toolset, and Wercker’s integration with Slack is seamless. The Wercker slackbot, Walterbot, allows you to interact with notifications on your product’s build status. These notifications are team-wide, or can be customized. Walterbot gets to what is important—the status of your build.
Environment Variables are essential to keep sensitive information away from exposure in a repository. Wercker can use many env variables during pipeline execution. These could include organizational-level environment variables, application-level environment variables, and pipeline-level environment variables. Using a customizable script-step to organize your variables allows your team to expose the right data to the right servers during your deployment process.
Security should never be ignored in the development process, and Wercker utilizes key security features, including source code protection (only our testing servers have access), the ability to turn test logs off to hide command output, protected environment variables, and customizable permissions for both user and project. Another exciting security feature is the Virtual Private Pipeline (VPP), which is a single-tenant, SaaS-delivered Docker-native CI/CD automation platform. It is fully managed and scalable, and is ideally suited to cloud-native development.
With Wercker, you have a fully integrated environment that can handle just about every aspect of your build and deployment. Wercker features will save your team valuable time during the development and software delivery process.