1. Home
  2. Training Library
  3. DevOps
  4. Courses
  5. DevOps Playbook Part 1

Atlassian BitBucket and Slack Integration

The course is part of this learning path

DevOps Playbook - CI/CD Tools and Services
course-steps 5 certification 2 lab-steps 5

Contents

keyboard_tab
DevOps Adoption Playbook - Part 1 - Intro
1
Introduction
PREVIEW1m 23s
DevOps Adoption Playbook - Part 1 - Demonstration
DevOps Adoption Playbook - Part 1 - Review
11
Review
1m 14s
play-arrow
Start course
Overview
DifficultyIntermediate
Duration1h 12m
Students460
Ratings
4.8/5
star star star star star-half

Description

In this course we introduce you to the DevOps Playbook Part 1.

The DevOps Playbook Part 1 course begins with Book 1, a brief introduction to DevOps and how in recent times it has become the defacto approach to developing and operating applications. We then introduce you to Books 2 through to 7, covering the topics, CALMS, Collaboration, Automation, Version Control, Continuous Integration, and Continuous Testing, where each book documents a required DevOps competency, one in which you’ll need to adopt and establish skills in to be effective in DevOps.

  • Book 1 - DevOps
  • Book 2 - CALMS
  • Book 3 - Collaboration
  • Book 4 - Automation
  • Book 5 - Version Control
  • Book 6 - Continuous Integration
  • Book 7 - Continuous Testing

 

The DevOps Playbook Part 1 course includes 2 demonstrations where we put into practice some of the DevOps theory presented.

  • Atlassian BitBucket and Slack Integration
  • Atlassian BitBucket Pipelines and Docker

Note: the source code as used within these demonstrations is available at:
https://github.com/cloudacademy/devops/tree/master/DevOps-Adoption-Playbook

Transcript

- [Instructor] Okay, in this demo, we're going to create a new git repository using Atlassian Bitbucket. So, clicking on log in, I'm going to log in with my Google ID. Here, I'm going to use my Google ID. I type in my password. So I'm performing single sign-on into Atlassian. And this will bring me back into Bitbucket. Okay, so we're now in Bitbucket. I'm going to click the create button, and I'm going to create a new repository. Here I'm going to call it democube. Actually, let's call it Cube360. Click the create repository button, and this will create us a new git repository. And it's pretty quick. Okay, so now we can see our new Cube360 git repository's being created. I'm now going to jump over into Slack, and what we're going to do here, is create a new Slack workspace. And, this will demonstrate the concept of chat ups. So, we'll click on the Your Workspaces button at the top right, and then towards the bottom of the screen, click on the create a new workspace link. 

And here it asks for your email address, so I've created a new Gmail address, which I'll use. So I'm just going to jump back into Gmail. This is a new account for demonstration purposes. So here we've got democube360, so for our email address it will be democube360@gmail.com. Clicking the next button. Okay, so we've got a verification code that we need to enter. So, let's refresh our inbox and it should arrive fairly quickly. There we go. So we copy this verification code back into Slack. Five four six, five two nine. I'll set my full name to be Jeremy Cook, and my display name Jeremy Cook again. 

Click on the password button, and we see the password. Let's set the password, then we click on the continue to workspace info. So here we're going to set it to be work that the company is in the technology space, and we have one to 10 people, and the role that I'm in is engineering, software engineering. Okay. We set up our company name. In this case, for the demonstration, we set it to be DemoCube360. Clicking on the workspace URL button, we see here that our URL will be DemoCube360 dot slack dot com. Click the create button. Agree to the terms and conditions, and then we don't have to worry about invitations. That's good for now. 

Okay, so our new Slack workspace is being created. That's the URL, DemoCube360 dot slack dot com. Okay, so the next thing we're going to do is set up a new engineering channel for our DevOps. So, we click on the plus button for the channel. We'll give it a name. We'll call it DevOps dash engineering, so when we do a commit, we'll get a commit notification into this channel. So the purpose is for our DevOps engineering, we click the create channel button, and our new Slack DevOps engineering channel is being created. So, let's jump back into our deep Cube360, but back at repository we'll click on settings, and then under chat notifications, we click on settings again, and here we'll connect it to our Slack workspace. So we click the connect button, and we then authorize it to allow access from, or between Bitbucket and Slack. 

We select our workspace, DemoCube360. We then click the authorize button. This completes the connectivity between our Bitbucket repository and the DevOps engineering channel within our Slack workspace. From here we can click on the master branch and add additional events that we want to be published through to our Slack channel. We'll leave the defaults for now, so you can see commits will be pushed through. So we're just going to double check those settings have taken or been committed. So again, going back under chat notification settings, and indeed, we can see that our subscription has been established and saved. So now we'll clone the git repository. So we'll take a copy of the clone url, and we'll swap over into our terminal. So, pasting this into our terminal, I'll just increase the size. We'll remove the folders that were here beforehand. So we've got an empty directory. We're in the demo folder. We'll now do our git clone. So we're cloning from our Bitbucket repository into our local environment. 

If we do a list on the current directory and we move into Cube360, we can see we're on the master branch and if we do a directory listing, we've got a single file called readme dot md. So, if we jump into Visual Studio in the current directory, we can... We can see the contents of our readme file, but what we'll do is, let's add a new file. So we click on the new file. We'll call it index dot html. And we'll just add a simple message. In this case, a paragraph with the contents hello world. Okay, we'll save this, and then we'll jump back to our terminal, we'll do a git status, and we can see that we've got a currently untracked index dot html file, so let's add that and do a status again. See that the new file has been added, and now we'll do a commit, and we'll set the message to be initial commit of project hello world. 

Okay. We then do a final push, so git push and that will push the updates back into our repository. So now if we go to Slack, and we can see that on our channel, DevOps engineering channel, that commit has been captured. So from a chatops point of view that's great. We've got feedback. Any member who's part of our workspace and has visibility of that channel would get that message. So that's a really great integration feature between Atlassium, Bitbucket and Slack. Jumping back into Bitbucket, we can see that the contents of that file in terms of all the changes. 

So we're going to add the message, this is a great DevOps Collaboration feature. We we've added that into our index dot html file. Go back to our terminal, and we'll simply do a git add star and git commit, setting the message to be, the commit message to be added more code and we'll do a push all in one go. Okay, so that's completed. We'll jump back into our Slack channel, and there we go. So again the commit messages comes through almost in real time, and if we click on the commit id within Slack, it takes us back through to our Bitbucket, and we can see the changed file. So as you can see, there's really neat integration available between Bitbucket and Slack. Something that's very useful in a DevOps environment.

About the Author

Students9950
Labs26
Courses61
Learning paths14

Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.

Jeremy holds professional certifications for both the AWS and GCP cloud platforms.