This post was written by Kahl Orr, an entrepreneur, web developer, and the founder of Rise, a digital agency that specializes in web design. A fast-growing web development agency, Rise builds high-end, custom websites and web and mobile apps for national brands.
One of the biggest challenges for any development team is working well together. Everyone has to be part of a well-oiled machine that has efficient workflows in place to deploy and maintain code, as well as add code to the codebase. The user experience of real-world website visitors and customers depends on it.
To that end, Bitbucket Cloud has been nothing short of a blessing for my team. We used to have a few projects in GitHub but were referred to Bitbucket by one of our clients. They liked how easy it was to configure their CI/CD workflow as well as manage their Git workflows and user permissions, and since making the switch ourselves we couldn't agree more.
I run Rise, a web design and development agency that's been on a growth tear in the last couple of years. We develop and maintain websites for a large number of clients. Our client base has been rapidly increasing, and we couldn't have provided high-quality service to all of them without Bitbucket's amazing GUI that has allowed us to easily manage Git.
Reducing the learning curve of Git
Being relatively new to Git, one of the biggest pros about Bitbucket that my entire team is enthusiastic about is how it's empowered us to ease into the complexities and learning curve of Git. Thanks to Bitbucket's very user-friendly GUI, we've been able to do three vital things:
- Get our foot in the door with Git
- Write high-quality code
- Establish a crucial workflow for our team
Our workflows have never been this organized, and it shows in the work we're producing for our clients.
No matter what one of our developers is working on – say, a contact form's functionality – keeping track of these tasks and seeing exactly what they did is a cinch. When the developer is ready to push their code in their branch, it's equally frictionless for our lead developer to determine if this new code is ready to be merged to the Master version.
The end result is a smooth workflow that eliminates miscommunication and mistakes.
Making the most of CI/CD with Bitbucket Pipelines
Familiarizing ourselves with all that Bitbucket has to offer development teams has also led to a few nice surprises. These have proven to be game changers as we look for additional ways to optimize our workflows even more.
The benefit of Bitbucket Pipelines, in particular, cannot be overstated. Pipelines, Bitbucket’s continuous integration and continuous deployment solution, empowers our team to automatically deploy code to any environment of our choosing with the appropriate configuration. For instance, once code is merged into a certain branch, we can specify that we want pipelines to deploy our changes to the server.
While we've used competitors' features that are similar to Pipelines, we've found Pipelines to be the easiest to manage.
We've used Pipelines to great effect in other ways:
- We use it to minify styles and scripts after we push our code. We then take this compiled code and push it to a cloud-storage platform.
- We can also rely on Pipelines to install dependencies, such as those listed in our composer.json file; this is an invaluable step and allows for efficiency.
- Last but not least, we can also run complete php scripts inside another file as part of a build step. Our host has their own repository that is being used for the live website that we ultimately push to. The script will take our repository inside of Bitbucket, and push to the host.
Overall, Bitbucket Pipelines is a feature we can't live without.
Bitbucket has helped us build more efficient collaboration and all around better products for our clients. Our team members are able to keep track of exactly what everyone else is doing in the code base. We would absolutely recommend Bitbucket to other development teams who want highly organized workflows.
Rise's growth has been built on the use of Bitbucket, and I only expect this to become more instrumental to us as we expand our client base even further.