
Master Bitbucket pipelines for continuous integration and deployment by automating tests, builds, and deployments from NodeJS setup to SSH, artifacts, and Slack notifications.
Align node and npm versions with nvm, clone a preconfigured HTML5 boilerplate with bootstrap, and prepare a simple site in Visual Studio Code before building your first Bitbucket pipeline.
Create a Bitbucket repository, transfer origin from GitHub, and set up a Bitbucket Pipelines yaml to run a first echo hello world, then enable pipelines and review logs for debugging.
Explore deploying artifacts in bitbucket pipelines by creating and syncing a dist build folder to a remote server via SCP, using rsync to avoid recursion, and securing SSH keys.
Learn to run SSH commands to serve static content with serve handler and Ngrok, and automate deployment with a bash deploy script for Bitbucket pipelines.
Create a Slack messaging bot to post build updates from Bitbucket pipelines via a Slack webhook, with environment variable handling and node fetch for notifications.
Bootstrap a React and TypeScript project with Create React App, design a real build in the pipeline using npm run build, and initialize development, staging, and master branches.
Define environment files for develop, staging, and master in an env folder, and copy develop.json to env during npm pre-start to enable a development local site.
Learn to use environments in a Bitbucket pipelines file by configuring staging and master, setting variables early, and building a Create React App with npm run build and relevant artifacts.
Refactor the ngrok server for a React TypeScript project by using an index.js with environment-driven ports and per-branch slack webhooks for public URLs.
Refactor the Bitbucket pipeline for a React TypeScript project by deploying artifacts via SCP to staging and master folders, installing npm modules, and enabling node image caching.
Create a tarball of node_modules and artifacts, transfer it in Bitbucket pipelines, unpack on the server via SSH, and drastically speed up installs and caching.
Set up forever watch mode on the server to run index.js, verify logs and Slack messages in staging, ignore node_modules with a forever ignore file, and auto-restart on file changes.
Merge staging to master after testing to deploy changes via Bitbucket pipelines, pushing to remote and validating the build on both branches with live previews on ports 5002 and 5003.
Configure nginx proxies for two react apps on separate branches (staging and master), and use the public URL environment variable to build each app with correct root paths.
Learn to run a local ubuntu linux instance in docker as a substitute for a remote server, expose ssh on port 7777, configure router port forwarding, and connect from Bitbucket.
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!