One of the concerns people may have when they start using Wercker for Continuous Integration is whether other people can see or access their source code. In this article we will look at some of the authorization aspects of Wercker and at the technology behind Wercker.
Sensitive information in Wercker
Before describing in detail what is visible to whom, let’s take a look first at how to prevent sensitive information from being accessible to the wrong people via Wercker. There are four main areas where sensitive information may be visible:
- In the source code.
- In the logs of tests.
- In the deploy logs.
- In the deploy settings.
The source code
Wercker provides no access to the source code of an application. Your source code is handled by specific testing servers, which clone your code and run your tests in separate containers which are setup and destroyed for each build. The resulting build artefacts are stored and accessible only for Wercker servers up to 3 months for use during deployment.
Maybe your code contains that default password you should change, or there’s other information you don’t want to have in your test logs. Wercker offers some tools to help you: you can hide the output of commands by setting the log value to false. See the wercker.yml article for more details.
Since Wercker allows you to set environment variables for configuring deploy-specific information, there’s a chance sensitive information can end up in the deploy log. To prevent this from happening, we’ve added a “hidden from log” checkbox for each environment variable that you define.
Deploy settings are the most specific details of your deployment. Only people with sufficient permissions can access these on an application. Specifically, only users with write permissions or admin roles have access. The difference between these roles will be described later.
At Wercker we take security seriously and have some new features planned on this front.