When you are creating any freestyle jobs or pipeline jobs in Jenkins, when you try to checkout a project from Bitbucket and If you are using Bibucket password, you may get this error.
Reason for this error:
Beginning March 1, 2022, Bitbucket Cloud users will no longer be able to use their account passwords when using Basic authentication for Git over HTTPS and the Bitbucket Cloud REST API.The removal of account password usage for Basic authentication when using Git over HTTPS and/or the Bitbucket Cloud REST API is due to Bitbucket Cloud's ongoing effort to align with internal infrastructure and improve Atlassian account security. App passwords are substitute passwords for a user's account and are designed to be used for a single purpose with limited permissions.
How to Create App Passwords in Bitbucket?
Go to Bitbucket--> Settings
Click on App passwords --> Create app password
Now enter label name and click on read/write under repositories
How to create EC2 instance in AWS console using new UI experience?
What is EC2 instance?
It is virtual server provided by AWS. We will be using this EC2 to setup both Jenkins and Tomcat. Please follow the below steps to create an EC2 instance.
click on All services, Click on Compute --> Click on EC2
2. Click on Launch instance
3. Enter Name as EC2 and enter 2 as number of instances
4. Select Ubuntu and choose Ubuntu server 18.0.4 as AMI
5. Enter t2.small as instance type
6. Click on Create new Key Pair
7. Choose the existing key pair if you have one, otherwise create new one, give some name as myJenkinsKey. Make sure you download the key in your local machine.Please do NOT give space or any character while naming the key.
8. Under Network settings, Click Edit
Add port range as 8080 and select AnyWhere as Source Type, that should enter 0.0.0.0/0 as Source
9. Enter 10 GB as storage
And then make sure in Summary, values appear as below:
10. Click on Launch Instance.
Click on View instances
Now you should be able to view instances in AWS console.
Connect to EC2 instance from local machine: Please click the below link to understand the steps for connecting to EC2 instance from your local machine - windows or Apple laptop.
(If you already have a WebApp setup in Azure cloud, move to next step)
You need to create WebApp in Azure Cloud. WebApp is an App service (mostly Platform as a Service) provide by Azure Cloud to migrate any web applications.
Click here to learn how to create WebApp in Azure Portal.
Create Azure Build YAML pipeline in Azure DevOps
Login to Azure DevOps, go to your project dashboard.
Click on Pipelines --> new pipeline
Select GitHub or where ever your source code is
Select your code repo
Choose the below option --> Maven package Java project web app to Linux on Azure
Choose the azure subscription, click on continue
Enter your Microsoft account details for Azure pipelines to authenticate with Azure cloud for deploying WebApp into App service.
Now choose web app name from the drop down
Click on validate and configure
Now Review Azure pipeline code
and make sure path of mom.xml is added properly as MyWebApp/pom.xml
Click on Save and Run
Once you save the file, you can confirm by logging into your GitHub repo.
Now Build must be running. Once build is successful, we need to give permission for deployment into Azure. Click on Review
This confirms that webapp is deployed successfully in Azure cloud.
Verify the webapp deployment into Azure cloud
go to App settings of WebApp, copy the URL and enter /MyWebApp
https://enteryourwebappurl/MyWebApp
that's it..that is how you deploy Web App from Azure pipelines into Azure cloud.
Please follow the steps to install Jenkins using Docker compose on Ubuntu 18.0.4 instance.
What is Docker Compose?
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
The purpose of docker-compose is to function as docker cli but to issue multiple commands much more quickly. To make use of docker-compose, you need to encode the commands you were running before into a docker-compose.yml file
Run docker-compose up and Compose starts and runs your entire app.
Change Host Name to Jenkins sudo hostname Jenkins
Perform update first sudo apt update
Now lets start Docker. compose installation first:
Install Docker-Compose
sudo apt-get install docker-compose -y
Add current user to docker group
sudo usermod -aG docker $USER
Create directory
mkdir ~/jenkins
Jenkins Setup
Create docker-compose.yml
this yml has all configuration for installing Jenkins
sudo vi docker-compose.yml
version: '3.3'
services:
jenkins:
image: jenkins/jenkins:lts
restart: unless-stopped
privileged: true
user: root
ports:
- 8080:8080
container_name: jenkins
volumes:
- ~/jenkins:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/local/bin/docker:/usr/local/bin/docker
Now execute the compose file using Docker compose command:
Now Go to AWS console. Click on EC2, click on running instances link. Select the checkbox of EC2 you installed Jenkins. Click on Action. Copy the value from step 4 that says --> Connect to your instance using its Public DNS:
Now go to browser. enter public dns name or public IP address with port no 8080.
One of the amazing features of Terraform is, it tracks the infrastructure that you provision. It does this through the means of state. By default, Terraform stores state locally in a file named terraform.tfstate. This does not work well in a team environment where if any developer wants to make a change he needs to make sure nobody else is updating terraform in the same time. You need to use remote storage to store state file.
With remote state, Terraform writes the state data to a remote data store, which can then be shared between all members of a team. Terraform supports storing state in many ways including the below:
Terraform Cloud
HashiCorp Consul
Amazon S3
Azure Blob Storage
Google Cloud Storage
Alibaba Cloud OSS
Artifactory or Nexus
We will learn how to store state file in Azure Blob storage. We will be creating Azure storage account and container.