Mastering Bitbucket Pipelines for CI and CD
What you'll learn
- Continuous integration and continuous deployment with Bitbucket Pipelines
- The basics of Bitbucket Pipelines so you can create your first pipeline.
- How to enable continuous deployment functionality to your pipeline.
- How to add Slack notifications to your pipeline.
- How to apply separate continuous integration and continuous deployment steps to different branches of your code.
Requirements
- Experience with bash commands and bash scripting, git and git repositories, and git UIs like Bitbucket and GitHub.
- a GitHub Account (or sign up, they are free :) )
- a Bitbucket Account (or sign up, they are free :) )
- a Linux Server (it can be remote or local - Lesson 16 is included as a bonus to show how you can use Docker to create a local Linux server!)
Description
Bitbucket Pipelines brings continuous integration and delivery to Bitbucket Cloud, empowering individuals and teams to build, test, and deploy their code using the Bitbucket cloud!
It's a tool that has saved me an immeasurable amount of time over the years, and it's something I use for almost every repository I have in my BitBucket account.
Before working with pipelines directly, we'll ensure we're all using the same version of Node using nvm.
We'll then create YOUR very first Bitbucket Pipeline, defining a bitbucket-pipelines.yml file.
We'll add complexity to the pipeline, learning how to use SCP (Secure Copy Protocol) and SSH (Secure Shell) within our pipeline.
We'll get even more complex, learning how to use various environments, such as develop, staging, and master branches, in our pipeline.
We'll even learn how to use a Slack messaging bot to send messages during various points during the build!
The course ends with a few goodies and bonuses, like how to get the setup working via an NGINX proxy.
***NOTE: If you do not have an external target server to use, bonus lesson 16 shows you how you can use a local instance of Linux using docker, and how to add a port mapping to your local router so you can access that box from anywhere in the world!
Who this course is for:
- All developers looking to get into or improve their continuous integration and continuous deployment skills.
Instructor
Hi everyone!
I've been a professional full stack software engineer for 7+ years, and I've been programming for many more. In 2014, I earned two separate degrees from Clarkson University: Mechanical Engineering and Physics. I continued at Cornell for my M.S. Degree in Mechanical Engineering. My thesis at Cornell was a technical software project where I first learned Bash and used a unique stack of Perl and Fortran, producing a publication in the scientific journal Combustion and Flame: "A novel atom tracking algorithm for the analysis of complex chemical kinetic networks".
After opening up my first terminal while at Cornell, I fell in love with software engineering and have since learned a variety of frameworks, databases, languages, and design patterns, including TypeScript, .NET, JavaScript, Python, React, Redux, ABAP, SAPUI5 UI5, C#, PHP7, Postgresql, and Magento. I love building full stack apps as side projects!
I'm happy to give back and teach what I've learned over the years, because I think software development is especially difficult these days, with all the new tools and frameworks that seem to come out daily.
I don't want anyone to be intimated by this and I too struggle and reach out from time to time for help and mentoring. I try to make my courses as clear as possible so you don't get lost or confused.