This article is about General Codeship Configuration.

Getting Started With Projects

You'll need roughly 5 minutes to read this article.

This article will teach you how to create and delete a project as well as give some further information on specific questions.

Create a Project

The screenshot below shows the initial dashboard after logging in to Codeship for the first time. new project screen

In the next step, you can choose whether you want to import from a GitHub, GitLab, or Bitbucket repository by providing the repository link as shown in the examples.

connecting to repository examples

After connecting to a repository, you will either continue with Codeship Basic or be able to choose between Codeship Basic and Codeship Pro if the latter is activated on your account.

Requirements For Creating A New Project

To get started with a Codeship project, you will want to have a few resources available:

  • A Github, Bitbucket or Gitlab account with admin permissions for a repo or organization

  • A Codeship account, either using your email or using source control authentication

  • A code base with either setup or test commands (or both) that you need to automate

Delete a Project

You need to have project ownership for deleting a project. Once you click the delete button, you will have to confirm the deletion once more. A project can be deleted by going to:

Project Settings > General > Delete project Delete a Project

All your builds will be deleted as well. Make sure that you really don’t need this project anymore. It cannot be recovered once deleted.

Creating Projects Using Codeship API

If you need to create a large number of projects, or maybe just create similar projects on a regular basis, you can use the API to do the heavy lifting and just have a template on your side that forms the basis for all new projects. To learn more, head over to the API Documentation page.

Transfer Project Ownership

You can transfer your project to another account by navigating to:

Project Settings > General

A user with appropriate permission for the target account needs to confirm the transfer if you do not have project creation rights in the target account. When confirming the transfer, the user can choose which of the current team members to keep and which to remove.

If you want to bulk transfer projects, please reach out to our support via

Use Case Examples

  • You are using the Heroku addon and want to start using Codeship without it.
  • You don’t want to maintain a project anymore and want to transfer it to someone else.

Limit Builds to Specific Branches

We don’t have a feature to limit which branches can be built.

We build your project on every push (that is, we run your setup and test commands) to let you know as soon as possible if something is broken. We will only ever run a deployment for the specific branch it is configured on and only after all setup and test commands executed successfully. Before deployment, every push to your repository should be tested.

If you wish to skip a build, please refer to the article about skipping builds.

Testing PRs from Forked Repositories

Codeship does not support testing pull requests from forked repositories at the moment. You’d need to configure the forked repository separately on Codeship or push the branch to the already configured repository instead.

Keyboard Shortcuts

To make it easier to navigate through your Codeship projects, we’ve provided several keyboard shortcuts for quickly jumping through the interface:

  • gp, available from inside your projects, will return you to your projects overview page
  • Escape key, available on your projects overview page, will return you to the previous page
  • Arrow keys, available on your projects overview page, will navigate between your projects
  • Enter key, available on your projects overview page, will select the highlighted project

Invite Team Members To Your Projects

Once you’ve created your project, you can invite colleagues members to give them access.

Under Project Settings > Team members, simply add their email address to send them an invite.

Invite team members to project

Whitelisting Codeship On Your Firewall

Codeship is hosted on AWS EC2 in the us-east-1 region. Because of this, Codeship services do not have static IP addresses. There are several different options for allowing Codeship to pass through your firewall.

AWS publishes current IP address ranges in JSON format. You can enable access for those ranges on your own server’s firewall settings.

Another option is to set up and run your own bastion host. This would allow you to route all Codeship calls through your bastion host and white list only this host.

Finally, another option is configuring port knocking. The knock package is already installed on Codeship Basic and could also be installed in your Codeship Pro configuration.

We realize these options may not work for all configurations. If there is something specific you would like to see, please get in touch and let us know more details about your environment.

Can’t Locate A File

If your build can’t locate a configuration file which you ignored in your repository, via .gitignore, create a your_config.yml.example with data that works for your tests an add it to your repository. Then add the following command to your setup commands so the YAML file is properly set up.

# project settings > test settings > setup commands
cp your_config.yml.example your_config.yml

You should also check that you are not coming from a case-insensitive operating system where you may not have noticed that the file name is different, i.e. File.yml compared to file.yml.