to hear my voice and also you can see my screen you should be able to see my screen I just started my Windows desktop fine brilliant thanks a lot so so friends so let's let's start off with the session So friends, yeah, thanks a lot. Okay, I'll take up all your questions once the session is over. Till then, we'll just put all of you on mute so that we can just go with the actual session. So we are going to discuss in today's session something called as Bamboo, which is a continuous integration tool. Bamboo is not the only continuous integration tool available in the market.
There are lots of other tools which can more or less do the same activity like what Bamboo is doing. Bamboo is basically used for for CI CD continuous integration and continuous delivery. Okay, if you have already attended my junk in session, probably, you know, what is CI CD in case you did not attend doesn't matter.
I just give a quick introduction towards what exactly is CI CD. What are we trying to learn over here? And once that is over we'll go into the actual part of setup of bamboo and we will see how the implementation of CI CD happens via bamboo. Okay. So, please look at my screen.
Now, when you talk about any kind of software development, any kind of software which is being developed, whether it's code happening via Java or.NET or Python, whatever, all of us know that a group of developers, they create some code, right? A team of developers create some code. And these developers upload this code into some kind of version controlling system like Git or SVN or Preforce. A version controlling system is just a remote server which is working like a code repository where all the code is being stored, right?
Now, this code is created for the requirement of a specific client, okay? So, what they do is they just download this code and on this code, they perform a process. which is generally called as the build process for doing this build process there are different types of tools like there's a tool called as ant there's another tool called maven or ms build depending on the kind of technology these build tools keep on changing and the outcome of the build is called as a artifact artifacts you can equate it with a setup file okay See, the code has been created for the requirements of a specific client. You can't send that code directly to the client.
The code has to be converted into something which the client can take and he can deploy. He can install it on his servers. So the process of converting that code is generally called as a build process. And the outcome of the build process is known as an artifact. Now this artifact, you don't directly send it to the client.
We generally deploy this artifact. into the testing environment which we call as let's say these are my QA servers, my testing environment where a team of testers are supposed to check whether this application is working correctly or not. And most of the organizations they do testing via some automation tool like Selenium or coded UI etc. So imagine that your team of testers, these are my testers and these testers are creating automation programs via selenium.
Now these selenium programs would be executed. They'll check whether this application is working correctly or not. Obviously some kind of defects will be there.
So it will be returned back to the developers. Developers will fix the bugs. They'll modify the software and that modified code they'll again upload into the version controlling system.
Again this code is downloaded. The build process is triggered. A new artifact is generated.
And this artifact will be deployed into the testing servers where again the testers will run the Selenium automation programs. Once the testing team comes to the conclusion that everything is working fine, maybe they put it into staging servers where UAT testing happens, etc. But for the sake of convenience, I will just say the next thing is they will deploy that into the production environment. These are my prod servers.
Once it is deployed into the production environment. the client or the end user will be able to access it. Imagine this is my client and he can start accessing the application.
Now this is generally known as the build and release life cycle and all these stages of build and release life cycle can be automated using one single tool that we are learning here which is it can be done through Jenkins which we have seen in some of our sessions. Similarly it can also be done through Bamboo. That is what we are going to learn today. So bamboo is a tool using which we perform continuous integration and and continuous delivery what exactly is the meaning of the word continuous integration why are they giving that name as continuous integration i'll try to explain just watch developers create some code and put into the version controlling system immediately your bamboo will detect that some changes have happened and it will download that code so ideally we call that first stage as continuous download Okay, why we are using this word continuous, it will become clear in a few more minutes. The code which is downloaded, the same bamboo will take the help of these build tools like MSBuild or Maven or Ant and it will trigger the build process.
So that second stage is called as continuous build. Earlier, we used to have, I mean, as a build and release engineer, you should have knowledge of how Maven works or how MSBuild works and then only we were able to create the artifact. Whereas in Jenkins or Bamboo, these are simple plugins. You just install that plugin and automatically the build process is triggered and an artifact is generated. Now your Bamboo will take this artifact and it will deploy that artifact into the testing environment.
Now these testing servers obviously will be using some kind of application server like Tomcat or JBoss or WebLogic, right? Generally, we have a team of engineers whom we call as middleware engineers who have knowledge of how this QA server, I mean, how the Tomcat has to be configured or how WebLogic has to be configured. They maintain all this and they deploy the artifacts into these servers. But currently, what is happening?
Your bamboo is automatically doing that. They are deploying in... into the application servers which are running in the testing environment is automatically being triggered by Bamboo.
And the same Bamboo will take up the automation test programs which are created by the testers and it will run these programs, it will check whether this application is working correctly or not. And if it is working correctly, it will deploy into the production environment. The initial activity of deploying into the QA servers, we call this as continuous Deployment, running the automation test programs, we call it as continuous testing and finally delivering to the client, we call this as continuous delivery.
So these five stages when combined together, we call it as CI, CD, continuous integration and continuous delivery. So that is what we are going to learn now. How do you set up Bamboo and with the help of Bamboo, how do you perform all these activities?
That is what we are going to learn in today's session and the next one or two sessions. Probably we will try to finish it off in two days if possible. Otherwise, it might extend to three sessions. Whatever it is, this is the complete flow of CI-CD.
Bamboo, as I told you, is not the only tool which does that. There are a lot of tools available in the market which can do this. There is a tool called Bamboo.
There is a tool called Jenkins. There is something called as Travis CI. We have Microsoft TFS. All these tools can be used for performing continuous integration.
So when someone is using the word continuous integration, please understand that these five stages have to be automated and then only we can call it as continuous integration. A very, very, very quick recap before we go into the installation part. Okay, so please look at my screen. We said that developers are creating some code and they are uploading that code into the version controlling system. You are configuring your Bamboo in such a way that the moment the developer is making changes, your Bamboo will get a notification.
Bamboo understands that developer has modified something and immediately Bamboo will download that code. So the first stage that Bamboo is performing, I called that stage as continuous download. So I called that stage as continuous download.
Once the code is downloaded, we want that code to be converted into an artifact. You can equate an artifact with a setup file, which the team members can deploy or install. And the second stage is called as continuous build.
Because in order to create this artifact, Bamboo takes the help of certain build tools like Maven or Ant or any of the build tools. Once the artifact is created, the same Bamboo will take the artifact and it will deploy this artifact into the testing servers where a team of testers are supposed to check whether everything is working fine or not. Obviously, the testers are also testing via some automation programs.
Okay, imagine these are the testers creating the programs. So what did Bamboo do? The moment it deployed into the QA servers, we are calling that stage as continuous deployment. The same bamboo is picking up the automation test programs created by the testers.
It will run those programs and that stage I am calling as continuous testing. Once bamboo comes to the conclusion that everything is working fine, it will deploy that into the production servers where the end user or the client can start accessing it. That fifth stage we are calling as continuous delivery.
So these are the stages that we are trying to automate. via bamboo how do you set up and all those things we will actually see very shortly but this is just a basic introduction for what is continuous integration and what is continuous delivery okay now with that i will go into the the actual setup part okay uh those of you who are joining the session just now who who joined a little later nothing to worry because uh i'll actually upload this video very shortly i mean probably by tomorrow it will be uploaded on YouTube so you can actually watch the complete video and of course there are a lot of commands which are involved when you are trying to configure bamboo all those commands also I'll put in the description so nothing to worry nothing to worry just try to listen to the session and follow whatever you can okay now in order to set up bamboo what do i require see this what are the preconditions precondition is if i want to show you the cicd see we we are trying to learn bamboo from a devops engineer's perspective imagine i am a devops engineer so i need to understand how the flow of this cicd happens how do you automate all these five stages that's what we need to primarily focus on creating the code is not our responsibility we are not developers we don't understand code right So the precondition, if I want to show you the CI CD, the precondition is developers should have created some code and uploaded that code into some kind of version controlling system. Okay, that's the precondition. If that is there, then we can start having a practical scenario where this complete end-to-end flow of CI CD can be demonstrated. So what I have done is to demonstrate this, I downloaded some Java code from the internet.
Just listen. just going to Google and you try to download some basic Java Maven project. That's what I have done.
Some developers have created some Java code. I downloaded that code and I put that code into the version controlling system. You people imagine that developers created the code and put into the version controlling system. That's it.
Their work is ending over there. Now I have to set up Bamboo so that I can perform all these stages. So what we will do now is we will create three Linux servers on one server we will be installing bamboo i'll call that server as a bamboo server another server i'll call as a qa server and the next one we'll call as prod server on qa server and prod server i will be installing tomcat because i told you that in the second stage once an artifact is created that artifact will be deployed into the the qa servers and later into the prod servers right in qa servers and prod servers where do you think it will be deployed Some kind of application server should be there.
Tomcat or JBoss or Weblogic something. So in our scenario I am taking Tomcat. So the basic setup that we are going to do now is we will be creating three servers. The first server we will see how Bamboo can be installed.
In the second server which I will call as QA server we will be installing Tomcat 8 and we will set up the credentials of Tomcat so that Bamboo can do something. We will also create one more Linux server which I'll call as a prod server and there also we will be installing Tomcat 8. So totally three Linux servers, first server with Bamboo and of course a few minor miscellaneous softwares should be there. I'll tell you what those are.
And the next two servers which I'll call as QA server and prod server will install Tomcat 8. That's it. Once this setup is done, then we will be able to go with the... the flow of cicd as a devops engineer probably your activity will be to perform cicd not to do this setup how to install bamboo how to install tomcat all this nonsense probably is not the headache of a devops engineer generally but because you people are currently students and you want to practice all this so obviously you need to understand how to do the setup also okay but once you get into the organization don't worry about the setup part We need to mainly concentrate on the CICD.
How to do the CICD? That is what we need to primarily concentrate on. Okay, that's it. With this, let me go into the actual setup. As I told you, we required three Linux machines.
Those of you who already have some experience on creating virtual machines on VMware or maybe on Oracle VirtualBox or something like that, you can actually go with that. I just required three Linux servers. It can be Ubuntu or Red Hat Linux or CentOS, whatever it is.
Okay, so anything is okay. I will be using AWS cloud. If you have good configurations, you try to do it on your private laptop itself via VMware or Oracle VirtualBox or shortly we'll also take a session on Vagrant where I'll show you on a single machine with very simple ease how you can create infrastructure of multiple Linux servers using Vagrant.
I'll try to show you. Of course, it's not part of this bamboo. We'll see that later. But the easiest way for anyone, for technical or non-technical guys, is to use some kind of cloud service. Obviously, I'll be using AWS because it's having more demand compared to any other cloud service provider.
So what I want all of you to do is once my session is over, you can just go into Google and you sign up for a free AWS account. Just say AWS sign up. okay so I think this is the AWS signup page so you can just click on create a free account over here and once you click on the create a free account obviously it will ask for some information okay the signup will take a little time they'll they'll ask you your credit card information and all that but doesn't matter you know they'll just charge two rupees from your account for one year it's free as long as you're using free services okay i'll tell you what are free services and what are not free services Nothing to worry.
Just create an account. Sign up for an account. This account activation takes anything.
I mean, it takes 4 hours or in some cases 24 hours or a little longer. But until the account is activated, you won't be able to access it. So, first activity is try to create a... Just sign up for a free AWS account. You will be able to fill up these complete details in just 10 or 15 minutes.
And once the account is activated, you just log in into your AWS console. So... I will log in with my credentials. So just believe me, initially they'll just charge 2 rupees.
For one year it's free. Those 2 rupees are also only to check that it's a valid account. Again, those 2 rupees would be credited back to your account after 48 hours. So nothing to worry. So I'll just try to log in with my credentials.
Today we'll just try to work on the setup part of Bamboo. Tomorrow probably we'll try to see the actual installation. Just a second. I think I gave wrong credentials.
Fine. Fine. So I'm just entering my credentials and trying to log in into the AWS dashboard.
Okay, now please see once I come here, once I come to the AWS dashboard, you see on the right hand side, it's showing you certain city names. We generally call them as regions. Regions are nothing but the locations where you, I mean, those are the locations. where the data centers of AWS are available.
So you can create your Linux servers, in our case Linux servers, for that matter any kind of servers, you can create it in those regions. So you can select any of these cities, preferably we say that you select those those cities which are closer to us, which means ideally speaking, I should be selecting Mumbai because I'm sitting in Hyderabad. But I don't prefer Mumbai.
The reason is I have practically seen that in most of the cases, the Mumbai data center, maybe due to heavy traffic or whatever, it tends to be very slow for the free account. So I'll go with North California. But you can just try out which data center is good. You can select whichever you want and you can work on it. So once I select the city, it simply means that whatever Linux servers we are trying to create, as I told you, we are trying to create three Linux servers, right?
One is a Bamboo server, a QA server and the prod server. So these three servers, in my case, are getting created in North California data center of AWS. Okay, now once that is done, once you navigate to North California, on the top, you see a services section, click on the services section. And click on EC2.
I don't want you to give running notes of all these things because anyhow at the end of the session we are going to give you the recorded video. So you can watch this video whatever commands I paste it in the description. So just don't try.
to take any running notes just concentrate on my screen try to understand okay anyhow you have the video you can watch it multiple times so once you go into the services section you have option called easy to easy to stands for elastic cloud computing so just click on easy to and just let's let's wait for the page to load fine the the Linux servers that we are trying to create the AWS community is trying to call them as instances that that's the naming convention they are using so you just click on instances and click on launch instance When you click on launch instance, it will show you the different types of servers that can be created on the AWS console. Do you want to create an Amazon Linux or do you want to create a Red Hat Linux or SUSE Linux? Different things, I am selecting Ubuntu Linux, Ubuntu server. So just click on Ubuntu, select and as I told you earlier, we require three servers, right?
I told you that we require a bamboo server, a QA server and a prod server. server and prod server very less configuration machines are sufficient but unfortunately for installing this bamboo you require a server which is having slightly higher configurations now what are these configurations you see once i click on that previous screen it's taking me to another page where you can select which type of machine you want a general purpose t2.micro or t2.small or t2.medium What are these? These are the capacities of the servers which are getting created. For example, when you want to buy a personal PC, a laptop or something, when you go to the market, they say i3 processor, i5, i7, that to 7th generation, 8th generation.
What is that? That's nothing but the hardware configuration of the server. Similarly, the AWS people are giving the names as T2.nano, T2.micro.
t2.smile etc but out of all these did you observe only t2.micro is having free tire eligible so which means only if you use t2.micro it's free if you use something else it's paid unfortunately for this one single server which is bamboo server i can't go with t2.micro i have to go with a slightly high configuration machine i'll use t2.medium but for qa server and prod server i'll go with the free version which is t2.micro So I will just create one bamboo server with T2.medium. Please watch. A T2.medium is essentially a server which is having 2 core CPUs and 4 GB of RAM. Whereas T2.micro machines are having only 1 CPU and 1 GB of RAM.
But currently to demonstrate bamboo I have to go with the paid version. One server T2.medium. So I will just select T2.medium.
Configure instance details. One server is sufficient. Click on add storage.
Whatever default storage has been given, that is sufficient for us. Add tags, security group and in security group, just click on add rule. Click on all traffic and here you select anywhere. Which simply means that from any ip address all the ports would be opened on the server any service can be accessed click on review and launch click on launch now when you are clicking on launch for the first time you need to click on create a new key pair what is this key pair see these aws instances are running in north california Whereas I am sitting in India in Hyderabad and I want to access those servers.
When I am sitting in Hyderabad and when I want to access those servers which are running on North California, obviously I require some kind of security credentials, right? Anyone should not be able to access it. There should be some kind of security because I am the owner of these servers, only I should be able to access. So what we do is we create a key pair.
Let's give some name. I will call this as Bamboo. Any name you can give. And once you do that, click on download the key pair. What is happening now is a security key called Bamboo.
Do you see that on the left corner? A security key called Bamboo is getting downloaded into my machine. In whichever machine the security key is present, only from that machine I will be able to access those Linux servers which we are creating in North California.
Okay, click on launch instance. Finish. It's done. And once it is over, I just want to view the instances. So I will click on view instances.
Finish. You see that one Linux server is getting created with t2.medium. Give it a meaningful name. I will call this machine as bamboo server.
okay in a few seconds this bamboo server will come into running condition friends it's just a linux server we did not install bamboo as of now that installation part is yet to start oh what happened just a second Let's call it as Bamboo server. You see that server has come into running condition. We require two more servers.
In the diagram I told you that we require a Bamboo server which is slightly high configuration and QA server and prod server which are free versions. So again I will click on launch instance, the same navigations. You select Ubuntu 18 and this time I will go with the free version, T2.micro. That's sufficient.
And I required two servers. So I'll just enter two over there. Add storage, add tags, security group. And in security group, what did we do earlier?
We clicked on add rule. We clicked on all traffic and we selected anywhere. Click on review and launch. Click on launch.
And already key pair is there, right? No need to create a new key pair. Just choose an existing key pair.
Give the name of the pair and then you click on launch instances. So totally three Linux servers are getting created on the AWS dashboard. Give them some meaningful names for our understanding.
The second machine I will call as QA server. And the last machine I will call as prod server. Finish. So in just a matter of another few seconds, you will see that all these three machines, three instances will come into running condition.
Do you see that? Bamboo server, QA server and prod server, all three are in running condition. But where all these three servers are running?
They are running in North California. We are sitting in Hyderabad and we want to access those servers. When you see a Linux server, obviously a Linux server has a command prompt where you execute your commands.
We generally call that command prompt as a terminal where you can run. all your Linux commands until you access the terminal you can't install bamboo you can't install Tomcat so the first thing that I want to do is I want to go into the terminal of this bamboo server so what we do is on our machine on my personal laptop I have to install certain interfaces like putty or get which will help you to connect to the Linux servers. So the next thing that I want all of you to do is, again, you just go into Google, and there you type git download.
Just type git download. Click on the first link you see there. And because I am using a Windows laptop, I'll download Git for Windows. Just click on it, a setup file will come into your machine, install it.
Just click on it, next, next, and do the installation. Once the installation of Git is over, you will get an application called as Git Bash. I have already installed it.
This is the application. You'll get an application called as Git Bash. This Git Bash is an interface using which I can connect from my Windows server to the Linux server. The Windows server, I mean my Windows machine is running in Hyderabad in India. From this Windows machine, I want to access the Linux servers which are running in North California.
So how do you do that? The first thing you do is, first you navigate to the download section. Why am I going to the download section?
Because, remember, we downloaded a security key called bamboo.pem. Where this security key is present on your Windows machine, you navigate there. In my case, it's present in the download section.
So I just went into the downloads. Then you identify the server. Which server do you want to connect?
Imagine I want to connect to the Bamboo server. So just highlight the Bamboo server and then click on connect. When you do that, they'll show you the SSH command which will help you to connect to that Linux server.
This SSH command is actually taking the help of that security key. So you just blindly copy that SSH command. Whatever is the SSH command you just copy it.
Okay, and you paste this SSH command in your git bash now just type yes over there and What you see on my screen is no longer my git. This is the AWS Linux server uber to at the rate You know this is the host name. The host name is generally generated based on the private IP of that server. So whatever it is, currently what you see is the Bamboo server which is running in North California.
The Git software is just working like a window. It's working like an interface through which you are able to connect from the Windows laptop to the Linux server. The moment you say exit, you'll come out of that server back to your Git Bash.
Similarly, if you want to connect to the other servers, okay. If I just want to connect to the QA server, just follow the same activity that we have seen. For example, if I want to go to the QA server this time, so what will I do?
This is my bamboo server. So this time I will highlight the QA server, click on connect. Same thing, copy the SSH command that is getting generated and you activate your in the git. you paste that ssh command okay sorry just paste the ssh command and type yes over there finish what you see now is the qa server which is running on the aws uh not north california data center when i say exit again i'll come back to my Windows machine so the git is just working like an interface through which you are able to connect from your Windows machine to the the Linux servers what we created on the AWS dashboard are simply three Linux servers though we gave the name names as bamboo server QA server and prod server we did not install any softwares so the first thing is we'll go to the first machine which is bamboo server and we will try to install bamboo there are a lot of linux commands which are involved in the installation part i'll give you all these commands as i told you i'll paste all these commands in the description don't try to buy hard these commands okay it's not a devops engineer's responsibility to do these installations and even when you go for interviews no one will ask ask you these commands so you can just copy these commands from my description and paste it in the Linux server and the installation would be done so don't don't don't think that all these lengthy lengthy commands you people have to buy hard not at all okay so I'll connect to the bamboo server okay we'll connect to the bamboo server through the the same get that we were using earlier And what I'm initially trying to show you is the setup part of Bamboo.
How do you install Bamboo on the first Linux server? That's what I'm actually trying to show you now. Okay. I hope online candidates everyone is able to see my screen right uh online candidates those of you are picking the the questions I'll try to answer all your questions but I see that Some of the students probably are trying to ask some questions.
You can't unmute, Chalapati, because I have put everyone of you on mute. I'll take up all your questions. Nothing to worry.
Okay, I'll take up all your questions. Just once let me finish off the main explanation part. I'll unmute everyone. I'll take all your questions.
And some of the students are saying that they are not able to see the video. We are sharing audio and video. Please check your network connectivity. Everyone should be able to see my screen. And should we have the same type of instances?
you can have the same type of instances the only problem as i told you is bamboo cannot be installed on t2.micro okay it requires higher configuration machine if you want qa server and prod server also to be t2.medium fine it's okay but it can be chargeable keep that in mind why i am trying to take only bamboo server as t2.medium is i just want to go with the minimum amount of charges that aws is going to you know they are going to send an invoice so i just want to go with the minimum amount of charges for qn broad servers t2.micro is sufficient so we will go with the free instances only for bamboo i'm going with a paid version we'll use it for one hour today tomorrow another one hour so obviously the charges will be very very less all three servers if i start as t2.medium obviously charges will be more so it's your choice you want to go with that you can do it so the first part is i want to install bamboo okay so to do that i'll connect to the the bamboo server the Linux server which I named as bamboo this is my bamboo server and bamboo requires Java to be installed apart from Java it also requires a software called software properties common only when you install this soft base we will be able to install bamboo so the first thing we do is we update the APT repository this is the command for doing that as I told you I will give all these commands along with their description so just just copy and paste those commands that should be sufficient once the apt repository is updated We want to install a software called software properties common the command for that is This is the software Actually, okay spelling is wrong, right software hyphen Once this is installed the next thing is we need to install Java. I will be installing JDK 1.8 These are Linux commands for installing the the Java JDK 8 1.8 is going to get installed with this command Before we install bamboo, these are the prerequisites. It's almost done.
Okay fine. You want to check whether Java is installed or not. I can simply say Java-version and I should see that it's 1.8. Now you install two more softwares called Git and Maven. This is the command with which I'll be installing git and maven.
So the prerequisites almost are done for our Java-based project. Now we need to install Bamboo. Now what are the steps for installing Bamboo?
I'll try to show you bamboo actually requires two folders one folder where we will be downloading bamboo okay and another folder where we will be actually installing bamboo okay one folder will work as a home directory for bamboo and another folder where you actually install bamboo we installed Java right for this Java we have to create an environment variable we have to set the path of the Java what you can do is there is a command in Linux called as which which is a command which simply tells you any Linux command that you are executing obviously has some location that the command is coming from a specific directory which directory it is present which command will show you for example if I say which Alice It shows that LS is a command which is present in a directory called bin and bin is present in root directory Like this any command which I I want to give another command called date It says that date is also present in the bin directory like that different commands come from different different directories I want to see in which directory Cal command is there It says that Cal command is present in bin bin is present in USR and USR is present in slash So which is a command which simply tells you in which folder a command related code is actually present. Now the Java that I have installed, I want to find out where it is. So I'll simply say which Java.
When you do that, it says Java is present in userbin Java. I want to find the home directory of this. For this, the command that we use is read link.
hyphen F and just paste the path that you have copied earlier. the user bin java path now in this output which is coming up prior to the bin folder just before the bin folder whatever path is there that complete path is generally called as the the the path of the java home directory so what we do now is we will create a variable called java underscore home where we will paste the path of this java home directory to make this variable permanent even if i restart the server it should be available I will use a command called export java underscore home. So what we have done is we just created a variable called java underscore home.
We set the path of that and we exported it. Now you have to add this path to an environment variable called as path. See, in any Linux machine, you will have an environment variable. If you just say echo dollar path, there's an environment variable which shows you the path of all the directories where executable files are present these are the different directories where the executable files are present to this i need to add the path of the java underscore home so this is how you can actually do it simply give uh simply say path is the variable equals to dollar path colon currently we have added it in a variable called as java underscore home right so that java underscore home you are adding to the existing path once it is added now if i say echo dollar path please see the difference earlier we had only up to here this was what the environment variable was showing now after that you see that the path of java also has been added bamboo will actually read this path where java is present and based on that it will try to do the stages that we were actually trying to describe okay now the next thing we do is we create two folders one folder I will call as bamboo underscore home and the other folder I will call as bamboo underscore install why are we creating these folders this is the folder where I will download bamboo and I will install bamboo okay once we start creating the CI CD flow which I talked about in the basic part of today's session that cicd flow will be creating certain directories those directories i want to store in this folder called bamboo underscore home now as of now if you don't understand bamboo home don't worry just keep in mind that this bamboo hyphen install folder is used for downloading bamboo and installing it okay so go into this bamboo hyphen install folder currently it's an empty folder here you need to download the the bamboo software where will i find it This is the link.
You can actually take it from Google also. This is the link where the Atlassian corp has given you the Bamboo software. I want to download it into the Linux server. In Linux the command that we use for downloading something is wget.
Simply give wget and paste that URL and you will see that the Bamboo software in zipped format is getting downloaded. Now if you do ls, you see the Atlassian Bamboo software has been downloaded in zip format. Now you extract it.
For extracting the command we use is, I can say tar-xvf and what is the name of the tarred file or zipped file. You just give the name of that file. So with this the extraction is happening. Once the extraction is done, when you do ls, see this is the actual zipped folder that we downloaded and this is the extracted folder.
You go into this extracted folder and do ls. There is one more folder called ls. Atlassian bamboo you go into that via the CD command and after coming into this Atlassian bamboo folder it's showing you list of so many folders out of these folders we will go into a folder called web info okay probably you are not able to see this in this huge information so what I will do is I will say LS but we'll search for a word called web do you see there is a folder called as web info so go into that Webin folder and in the webin folder if you do LS is another folder known as classes Go into the classes folder and in the classes folder We will find a file called as bamboo in it properties again huge information, right? So I'll say LS but grip search for a word called bamboo And do you see there's a file called as bamboo in it properties?
This is the file where you have to specify the path of the bamboo home directory remember just a few minutes back we have now we have created two folders bamboo install bamboo home that bamboo home directories path you have to give in this file so I will go into this edit properties and here just uncommented you see the variable called bamboo underscore home just uncommented and give the path I created it in slash home slash woman tool In a folder, what was the name of the folder? Bamboo underscore home. Okay, this is the folder.
The bamboo underscore home, I created in my current working directory, which in my case was slash home slash Ubuntu. Okay, you can just do pwd there and you can see in which directory we have created. Once this is created, just come... out of that folder go back to the parent folder and one more step go back to the parent folder and here if you do LS we will find another folder known as bin this is the location where the the actual startup files of bamboo are present go here and there you will find a file called a startup dot sh which is capable of starting your bamboo so I want to start my bamboo we say startup .sh and this will start your bamboo Finish. Bamboo installation part is over.
I mean the starting of Bamboo is over. How do you check it or how do you access it? The Bamboo has been installed on the AWS dashboard, right?
Now I can access it through my browser. Okay, how do you access it? This is the server where you have installed Bamboo, right? Now just click on that Bamboo server and if you go a little down, we'll find two IPs. One is called as public IP and other one is private IP.
It's as simple as that. You want to access these servers from an external location, from an external network, we go with public IP. If you want the servers to be accessed within the internal network, for example, if Bamboo server wants to communicate with QA server or QA server wants to communicate with prod server, they can communicate based on the private IPs.
But from my Windows machine, I am sitting in an external network, whereas these servers are running in North California. If I want to access them, I have to go with the public IP. So, Let's simply take that public IP, paste the public IP in the browser and Bamboo runs on a port number called 8085. Just give the public IP colon 8085 and ideally this should take me to the Bamboo setup page. So Bamboo has been installed on the remote Linux server.
We are trying to access that Bamboo through the browser so that we can perform CICD. You see it's asking us to. Unlock bamboo by entering some license key. Now this license key you can take it from Google. Just go into Google and you type bamboo license.
Bamboo license key. Click on the first link you see here. What we are using is the trial version of bamboo which is free for 30 days. You can actually, whatever I am teaching you, you can practice in 2-3 days and then terminate the machines. Now, on this page, you have the trial version link.
You see this? Just click on this link. okay it's asking me to login maybe you can log in with your Gmail credentials or any of these things so just a second just a second I use my or you can actually sign up for a new account that's not a problem Oh, I think I forgot my credentials.
Fine, it's okay. It's okay, not a big deal. So what will you do? We are not able to log in, so we'll just sign up for a new account. In order to generate the license key, it's asking for so many details.
Just give me a second. I'll try to give the credentials of, you know, it'll actually send you a security mail. I mean, it'll send you a verification link, which probably we have to log in and we have to take it.
So just a second. So, you know, I'm just giving my credentials, my new email ID and something and we are trying to sign up. And it says that once the sign up is over, they have sent us a setup link which I have to log in and check. So let's quickly do that also. So what we are trying to do is the bamboo that we have installed, we are trying to unlock by entering the...
the license key i think this is not the email id that i gave just now so just a second i'll sign out to this account and what is happening even if I log out Gmail is so slow fine so we want to sign in with our whichever mail we have given So the Atlassian community they have sent me a verification link which I just need to click on. too slow I don't know what is the problem okay fine so you see there's a Atlassian there's a mail from Atlassian corporation just click on that link probably in your end it might not be this slow maybe this problem with the network connectivity here I'll just click on verify my email address So, once I click on that verification link that was sent to my Gmail inbox, it's asking which Atlassian product are we trying to work on. These are the different Atlassian products out of which we are working on Bamboo, right. So just enter Bamboo over there and then it will ask you the ID, the server ID. Bamboo, the name of my organization is IntelliQ IT.
It's asking me the server ID. Do you see? When we were trying to set up Bamboo, a server ID got generated. So all you have to do is copy that server ID and paste that server ID over here. And once that is done, click on generate license.
This will generate the license. As I told you this will last for I think earlier it was only 30 days but now I see it as 90 days. Fine whatever. So whatever is the license key which got generated over here. You copy that license key.
Go to your Bamboo setup and paste it over here. Finish. Click on Express Installation. With this it's almost done.
The Bamboo installation is over. Generally they are not this slow. I don't know what is the reason.
Maybe the network connectivity from my end itself is bad. But otherwise things happen very quickly. So the license key entering is over. It's asking you to create an admin user.
Admin user in the sense whatever credentials you give over here that person becomes the admin of your bamboo. so i'll just enter some credentials okay finish bamboo setup is over which means tomorrow when we try to work on it directly we will be able to see this screen what screen is coming up directly we will come to this screen and we will be able to create the the flow of cicd no need to go with the installation activity installation is just one time activity we are still left over with installing on the qa server and the prod server two softwares called as tomcat 8 and tomcat 8 hyphen admin which i'll show you tomorrow now those of you who find this installation and all these things little difficult again I'm repeating this is not the activity of a DevOps engineer we are trying to create this setup so that we can actually start the flow of CI CD which I'll try to do tomorrow for today I'll stop the session I'll upload this bamboo video on to YouTube so that you can actually follow it one more time and also the commands of all these steps I put it into the description so that you can directly take the commands from there itself the The bamboo dashboard is almost in the process of you know finishing off in another one or two minutes It will be done tomorrow on the other two servers We will see how on QA server and prod server I can show you how to install Tomcat 8 that part will see tomorrow Okay, so I'll stop the session Let's stop the recording so that