Tuesday, March 7, 2023

Ansible playbook for AWS S3 bucket creation | How to create S3 bucket using Ansible in AWS Cloud

We will learn how to create new S3 bucket using Ansible playbook and automate the execution using Jenkins Pipeline. 


  • Playbook for creating new S3 bucket needs to be created but you can refer my GitHub Repo

Ansible playbook for AWS S3 bucket creation


1. Create Ansible playbook for S3 bucket creation

(Sample playbook is available in my GitHub Repo, you can use that as a reference)

2. Create Jenkins Pipeline 

pipeline {
    agent any
    stages {
        stage ("checkout") {
            steps {
                        checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [],                                                     userRemoteConfigs: [[url: 'https://github.com/akannan1087/myAnsibleInfraRepo']]])         
        stage('execute') {
            steps {
                //to suppress warnings when you execute playbook    
                sh "pip install --upgrade requests==2.20.1"
                // execute ansible playbook
                ansiblePlaybook 'create-s3.yml'

Execute Pipeline

Pipeline Console output

Playbook for creating S3 for your reference:


 - name:  provisioning S3 Bucket using Ansible playbook
   hosts: localhost
   connection: local
   gather_facts: False
   tags: provisioning

     - name: create S3 bucket
         name: myansibles3bucket312
         state: present
         region: us-east-1
         versioning: yes
           name: myansiblebucket
           type: example
       register: s3_url

     - name: Display s3 url
       debug: var=s3_url

Wednesday, March 1, 2023

SonarQube server can not be reached Error | Troubleshoot SonarQube Jenkins or Azure DevOps Integration

 Let's see how to resolve SonarQube server can not be reached error.

Root cause and Fix:

When ever you stop EC2 instance and re-start, public DNS name always changes. So you will have to change it every time you restart. 

You need to re-enter new Sonarqube server URL under Jenkins --> Manage Jenkins --> Configure system. scroll down and under sonarQube configuration 

enter updated SonarQube URL. no need to create token again, old token is enough.

After you save, you can run the job in your CI server to integrate with Sonarqube.