Take this beginner-level course on 'Atlassian BitBucket' to delve into the core principles and applied benefits for your software projects. This course, made up of 8 lectures and 14 demos, will expertly teach and explain how to perform Git-related tasks along with implementing and connecting BitBucket to third parties while always being aware of the various security options available.
This course would appeal to a range of job roles including software developers, build and release engineers and DevOps practitioners. All of the skills that you will gain from doing this course will yield a tangible dividend for the projects with your enterprise; allowing you to use, control and manage BitBucket to manage and maintain your software products.
Learning Objectives
- Understand the basic principles of version control as implemented using the Git protocol and
- Learn how to effectively use BitBucket to manage and maintain your software projects
- Assess the benefits of using BitBucket to manage and secure your software engineering assets
- Recognize and explain how to perform all basic Git related tasks such as creating and cloning a repository, branching, and merging.
- Study to implement and connect BitBucket with other 3rd party systems
- Be aware of the different security options available to secure your BitBucket setup
- Be able to use, control, and manage BitBucket through either using the web-based administration console and/or by using a git client.
Intended Audience
- Software Developers
- Software Build and Release Engineers
- DevOps Practitioners
Prerequisites
To be able to get the most out of this course we recommend having a basic understanding of:
- Software development and the software development life cycle
- Software development tools
- Version control and associated workflows
Related Training Content
After completing this course we recommend taking the 'Introduction to Continuous Integration' Course
To discover more content like this, you will find all of our training in the Cloud Academy Content Training Library.
Okay in this demo we're gonna 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 gonna 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 gonna 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 getting created. I'm now gonna jump over into Slack. And what we're gonna 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 gonna jump back into Gmail.
This is a new account for demonstrations purposes. So here we've got democube360. So for our email address it'll 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 copy this verification code back into Slack. 546529. I'll set my full name to be Jeremy, Jeremy Cook, and my display name Jeremy Cook again. Click on the password button and we set a password. Set the password, and 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 IRL will be democube360@slack.com. Click the Create button. Agree to the terms and conditions, and we don't have to worry about invitations. Skip For Now.
Okay, so our new Slack workspace has been created. That's the URL, democube360.slack.com. Okay, so the next thing we're gonna do is set up a new engineering channel. So for our DevOps. So we click on the plus button for the channel. We'll give it a name, we'll call it devops-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 has been created. So let's jump back into our deepcube360 Bitbucket 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 gonna double check that those settings have taken or been committed.
So again going back into 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 posting 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 to our local environment. If we do a list on the current directory and we move into cube360 we can see we're in the master branch, and if we do a directory listing we've got a single file called README.md. So if we jump into Visual Studio in the current directory, we can see the contents of our README file. But what we'll do is let's add a new file. So click on the new file. We'll call it index.html. And we'll just add a simple message, in this case 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.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. And so from a chat ops 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 Atlassian Bitbucket and Slack. Jumping back into Bitbucket, we can see that the contents of that file in terms of the changes. So we're going to add the message, this is a great DevOps Collaboration feature. So I've added that into our index.html file. Go back to our terminal and we'll simply do a git add * 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 jump back into our Slack channel and there we go. So again, the commit messages come through almost in realtime. 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. Some of it's very useful in a DevOps environment.
Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.
Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).