Category Archives: DevOps Practices

34. DevOps:How to Install Gradle on Ubuntu 18.04 ? [Video]

Gradle logo

How to Install Gradle on Ubuntu 18.04 ? :

Through this blog it is demonstrated the Gradle 4.10.2! installation on Ubuntu 18.04 VM.

At the end of this blog the Installation video clip is attached.


Step#1: Install OpenJDK:

Gradle needs Java JDK or JRE version 7 or
above to be installed.
We will install OpenJDK 8 as below.
Let us update the linux package index.

sudo apt update

Install the OpenJDK package with the below command:

Install the OpenJDK package.

sudo apt install openjdk-8-jdk
Check the java version.

Java -version

Step#2: Download Gradle

Using the below command; Used the below valid command…..

wget -P /tmp
Once the download is completed, we need to extract the zip file into folder; /opt/gradle :

sudo unzip -d /opt/gradle /tmp/gradle-*.zip

let us Verify that the Gradle files are extracted by listing the /opt/gradle/gradle-4.10.2 directory
ls /opt/gradle/gradle-4.10.2

The typical file list will be:

bin getting-started.html init.d lib LICENSE media NOTICE

Step#3: Setting up environment variables:

Now, we need to configure the PATH environment variable to include the Gradle bin directory.
To do this task; need to open a text editor and create a new file named inside of the folder; /etc/profile.d/

sudo vim /etc/profile.d/

In this shell program [config file] paste the below lines;

export GRADLE_HOME=/opt/gradle/gradle-4.10.2
export PATH=${GRADLE_HOME}/bin:${PATH}

The above script will be initiated at startup.

Now, let us Load the environment variables using the following command;

source /etc/profile.d/

Step#4: Verify the Gradle installation

To validate the installation of Gradle
use the command;

gradle -v

It will display the Gradle version.

So the Gradle is installed successfully.


==== Lab exercise output are pasted here ===>

Gradle installation steps output for Ubuntu 18.04 VM:

Step#1: Install OpenJDK:

Output for;

sudo apt update

==== Output =====>


vskumar@ubuntu:~$ sudo apt update

[sudo] password for vskumar:

Get:1 bionic InRelease [64.4 kB]

Hit:3 bionic InRelease

Get:4 bionic-security InRelease [83.2 kB]

Ign:5 binary/ InRelease

Get:2 bionic InRelease [15.4 kB]

Get:6 bionic-updates InRelease [88.7 kB]

Hit:7 binary/ Release

Get:8 bionic-backports InRelease [74.6 kB]

E: Repository ‘ bionic InRelease’ changed its ‘Label’ value from ‘Oracle Java (JDK) 8 / 9 Installer PPA’ to ‘Oracle Java (JDK) 8 Installer PPA’

N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

Do you want to accept these changes and continue updating from this repository? [y/N] y

Get:9 bionic/main i386 Packages [1,556 B]

Get:10 bionic/main amd64 Packages [1,556 B]

Get:11 bionic-updates/main i386 Packages [372 kB]

Get:13 bionic-updates/main amd64 Packages [416 kB]

Get:14 bionic-updates/universe amd64 Packages [571 kB]

Get:15 bionic-updates/universe i386 Packages [566 kB]

Fetched 2,254 kB in 25s (89.3 kB/s)

Reading package lists… Done

Building dependency tree

Reading state information… Done

345 packages can be upgraded. Run ‘apt list –upgradable’ to see them.


== End of output ======>



=====>Screen Output for JDK 8 Installation ===>

vskumar@ubuntu:~$ sudo apt install openjdk-8-jdk

Reading package lists… Done

Building dependency tree

Reading state information… Done

The following additional packages will be installed:

ca-certificates-java fonts-dejavu-extra libatk-wrapper-java

libatk-wrapper-java-jni libgif7 libice-dev libpthread-stubs0-dev libsm-dev

libx11-6 libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev

libxt-dev openjdk-8-jdk-headless openjdk-8-jre openjdk-8-jre-headless

x11proto-core-dev x11proto-dev xorg-sgml-doctools xtrans-dev

Suggested packages:

libice-doc libsm-doc libxcb-doc libxt-doc openjdk-8-demo openjdk-8-source

visualvm fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei


The following NEW packages will be installed:

ca-certificates-java fonts-dejavu-extra libatk-wrapper-java

libatk-wrapper-java-jni libgif7 libice-dev libpthread-stubs0-dev libsm-dev

libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxt-dev

openjdk-8-jdk openjdk-8-jdk-headless openjdk-8-jre openjdk-8-jre-headless

x11proto-core-dev x11proto-dev xorg-sgml-doctools xtrans-dev

The following packages will be upgraded:


1 upgraded, 22 newly installed, 0 to remove and 344 not upgraded.

1 not fully installed or removed.

Need to get 41.8 MB/42.3 MB of archives.

After this operation, 165 MB of additional disk space will be used.

Do you want to continue? [Y/n] y

Get:1 bionic-updates/universe amd64 openjdk-8-jre-headless amd64 8u181-b13-1ubuntu0.18.04.1 [27.3 MB]

Get:1 bionic-updates/universe amd64 openjdk-8-jre-headless amd64 8u181-b13-1ubuntu0.18.04.1 [27.3 MB]

Get:2 bionic-updates/main amd64 ca-certificates-java all 20180516ubuntu1~18.04.1 [12.2 kB]

Get:3 bionic/main amd64 fonts-dejavu-extra all 2.37-1 [1,953 kB]

Get:4 bionic/main amd64 libatk-wrapper-java all 0.33.3-20ubuntu0.1 [34.7 kB]

Get:5 bionic/main amd64 libatk-wrapper-java-jni amd64 0.33.3-20ubuntu0.1 [28.3 kB]

Get:6 bionic/main amd64 libgif7 amd64 5.1.4-2 [30.6 kB]

Get:7 bionic/main amd64 xorg-sgml-doctools all 1:1.11-1 [12.9 kB]

Get:8 bionic/main amd64 x11proto-dev all 2018.4-4 [251 kB]

Get:9 bionic/main amd64 x11proto-core-dev all 2018.4-4 [2,620 B]

Get:10 bionic/main amd64 libice-dev amd64 2:1.0.9-2 [46.8 kB]

Get:11 bionic/main amd64 libpthread-stubs0-dev amd64 0.3-4 [4,068 B]

Get:12 bionic/main amd64 libsm-dev amd64 2:1.2.2-1 [16.2 kB]

Get:13 bionic/main amd64 libxau-dev amd64 1:1.0.8-1 [11.1 kB]

Get:14 bionic/main amd64 libxdmcp-dev amd64 1:1.1.2-3 [25.1 kB]

Get:15 bionic/main amd64 xtrans-dev all 1.3.5-1 [70.5 kB]

Get:16 bionic/main amd64 libxcb1-dev amd64 1.13-1 [80.0 kB]

Get:17 bionic-updates/main amd64 libx11-dev amd64 2:1.6.4-3ubuntu0.1 [641 kB]

Get:18 bionic-updates/main amd64 libx11-doc all 2:1.6.4-3ubuntu0.1 [2,065 kB]

Get:19 bionic/main amd64 libxt-dev amd64 1:1.1.5-1 [395 kB]

Get:20 bionic-updates/universe amd64 openjdk-8-jre amd64 8u181-b13-1ubuntu0.18.04.1 [69.7 kB]

Get:21 bionic-updates/universe amd64 openjdk-8-jdk-headless amd64 8u181-b13-1ubuntu0.18.04.1 [8,248 kB]

Ign:21 bionic-updates/universe amd64 openjdk-8-jdk-headless amd64 8u181-b13-1ubuntu0.18.04.1

Get:22 bionic-updates/universe amd64 openjdk-8-jdk amd64 8u181-b13-1ubuntu0.18.04.1 [458 kB]

Get:21 bionic-updates/universe amd64 openjdk-8-jdk-headless amd64 8u181-b13-1ubuntu0.18.04.1 [8,248 kB]

Fetched 6,273 kB in 1min 54s (54.9 kB/s)

(Reading database … 172315 files and directories currently installed.)

Preparing to unpack …/00-libx11-6_2%3a1.6.4-3ubuntu0.1_amd64.deb …

Unpacking libx11-6:amd64 (2:1.6.4-3ubuntu0.1) over (2:1.6.4-3) …

Selecting previously unselected package openjdk-8-jre-headless:amd64.

Preparing to unpack …/01-openjdk-8-jre-headless_8u181-b13-1ubuntu0.18.04.1_amd64.deb …

Unpacking openjdk-8-jre-headless:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Selecting previously unselected package ca-certificates-java.

Preparing to unpack …/02-ca-certificates-java_20180516ubuntu1~18.04.1_all.deb …

Unpacking ca-certificates-java (20180516ubuntu1~18.04.1) …

Selecting previously unselected package fonts-dejavu-extra.

Preparing to unpack …/03-fonts-dejavu-extra_2.37-1_all.deb …

Unpacking fonts-dejavu-extra (2.37-1) …

Selecting previously unselected package libatk-wrapper-java.

Preparing to unpack …/04-libatk-wrapper-java_0.33.3-20ubuntu0.1_all.deb …

Unpacking libatk-wrapper-java (0.33.3-20ubuntu0.1) …

Selecting previously unselected package libatk-wrapper-java-jni:amd64.

Preparing to unpack …/05-libatk-wrapper-java-jni_0.33.3-20ubuntu0.1_amd64.deb …

Unpacking libatk-wrapper-java-jni:amd64 (0.33.3-20ubuntu0.1) …

Selecting previously unselected package libgif7:amd64.

Preparing to unpack …/06-libgif7_5.1.4-2_amd64.deb …

Unpacking libgif7:amd64 (5.1.4-2) …

Selecting previously unselected package xorg-sgml-doctools.

Preparing to unpack …/07-xorg-sgml-doctools_1%3a1.11-1_all.deb …

Unpacking xorg-sgml-doctools (1:1.11-1) …

Selecting previously unselected package x11proto-dev.

Preparing to unpack …/08-x11proto-dev_2018.4-4_all.deb …

Unpacking x11proto-dev (2018.4-4) …

Selecting previously unselected package x11proto-core-dev.

Preparing to unpack …/09-x11proto-core-dev_2018.4-4_all.deb …

Unpacking x11proto-core-dev (2018.4-4) …

Selecting previously unselected package libice-dev:amd64.

Preparing to unpack …/10-libice-dev_2%3a1.0.9-2_amd64.deb …

Unpacking libice-dev:amd64 (2:1.0.9-2) …

Selecting previously unselected package libpthread-stubs0-dev:amd64.

Preparing to unpack …/11-libpthread-stubs0-dev_0.3-4_amd64.deb …

Unpacking libpthread-stubs0-dev:amd64 (0.3-4) …

Selecting previously unselected package libsm-dev:amd64.

Preparing to unpack …/12-libsm-dev_2%3a1.2.2-1_amd64.deb …

Unpacking libsm-dev:amd64 (2:1.2.2-1) …

Selecting previously unselected package libxau-dev:amd64.

Preparing to unpack …/13-libxau-dev_1%3a1.0.8-1_amd64.deb …

Unpacking libxau-dev:amd64 (1:1.0.8-1) …

Selecting previously unselected package libxdmcp-dev:amd64.

Preparing to unpack …/14-libxdmcp-dev_1%3a1.1.2-3_amd64.deb …

Unpacking libxdmcp-dev:amd64 (1:1.1.2-3) …

Selecting previously unselected package xtrans-dev.

Preparing to unpack …/15-xtrans-dev_1.3.5-1_all.deb …

Unpacking xtrans-dev (1.3.5-1) …

Selecting previously unselected package libxcb1-dev:amd64.

Preparing to unpack …/16-libxcb1-dev_1.13-1_amd64.deb …

Unpacking libxcb1-dev:amd64 (1.13-1) …

Selecting previously unselected package libx11-dev:amd64.

Preparing to unpack …/17-libx11-dev_2%3a1.6.4-3ubuntu0.1_amd64.deb …

Unpacking libx11-dev:amd64 (2:1.6.4-3ubuntu0.1) …

Selecting previously unselected package libx11-doc.

Preparing to unpack …/18-libx11-doc_2%3a1.6.4-3ubuntu0.1_all.deb …

Unpacking libx11-doc (2:1.6.4-3ubuntu0.1) …

Selecting previously unselected package libxt-dev:amd64.

Preparing to unpack …/19-libxt-dev_1%3a1.1.5-1_amd64.deb …

Unpacking libxt-dev:amd64 (1:1.1.5-1) …

Selecting previously unselected package openjdk-8-jre:amd64.

Preparing to unpack …/20-openjdk-8-jre_8u181-b13-1ubuntu0.18.04.1_amd64.deb …

Unpacking openjdk-8-jre:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Selecting previously unselected package openjdk-8-jdk-headless:amd64.

Preparing to unpack …/21-openjdk-8-jdk-headless_8u181-b13-1ubuntu0.18.04.1_amd64.deb …

Unpacking openjdk-8-jdk-headless:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Selecting previously unselected package openjdk-8-jdk:amd64.

Preparing to unpack …/22-openjdk-8-jdk_8u181-b13-1ubuntu0.18.04.1_amd64.deb …

Unpacking openjdk-8-jdk:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Setting up nginx-extras (1.14.0-0ubuntu1) …

Job for nginx.service failed because the control process exited with error code.

See “systemctl status nginx.service” and “journalctl -xe” for details.

invoke-rc.d: initscript nginx, action “start” failed.

  • nginx.service – A high performance web server and a reverse proxy server

Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)

Active: failed (Result: exit-code) since Thu 2018-11-01 05:06:40 PDT; 220ms ago

Docs: man:nginx(8)

Process: 14329 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)

Process: 14319 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)


Nov 01 05:06:38 ubuntu nginx[14329]: nginx: [emerg] bind() to failed (98: Address already in use)

Nov 01 05:06:38 ubuntu nginx[14329]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Nov 01 05:06:39 ubuntu nginx[14329]: nginx: [emerg] bind() to failed (98: Address already in use)

Nov 01 05:06:39 ubuntu nginx[14329]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Nov 01 05:06:39 ubuntu nginx[14329]: nginx: [emerg] bind() to failed (98: Address already in use)

Nov 01 05:06:39 ubuntu nginx[14329]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Nov 01 05:06:40 ubuntu nginx[14329]: nginx: [emerg] still could not bind()

Nov 01 05:06:40 ubuntu systemd[1]: nginx.service: Control process exited, code=exited status=1

Nov 01 05:06:40 ubuntu systemd[1]: nginx.service: Failed with result ‘exit-code’.

Nov 01 05:06:40 ubuntu systemd[1]: Failed to start A high performance web server and a reverse proxy server.

dpkg: error processing package nginx-extras (–configure):

installed nginx-extras package post-installation script subprocess returned error exit status 1

Setting up ca-certificates-java (20180516ubuntu1~18.04.1) …

head: cannot open ‘/etc/ssl/certs/java/cacerts’ for reading: No such file or directory

Adding debian:COMODO_ECC_Certification_Authority.pem

Adding debian:AffirmTrust_Premium_ECC.pem

Adding debian:Certinomis_-_Root_CA.pem

Adding debian:SSL.com_Root_Certification_Authority_ECC.pem

Adding debian:AffirmTrust_Premium.pem

Adding debian:Entrust_Root_Certification_Authority_-_G2.pem

Adding debian:GeoTrust_Primary_Certification_Authority_-_G2.pem

Adding debian:GlobalSign_Root_CA.pem

Adding debian:OpenTrust_Root_CA_G3.pem

Adding debian:USERTrust_RSA_Certification_Authority.pem

Adding debian:thawte_Primary_Root_CA_-_G3.pem

Adding debian:ssl-cert-snakeoil.pem

Adding debian:Baltimore_CyberTrust_Root.pem

Adding debian:Certplus_Root_CA_G2.pem

Adding debian:Staat_der_Nederlanden_Root_CA_-_G2.pem

Adding debian:T-TeleSec_GlobalRoot_Class_3.pem

Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem

Adding debian:EE_Certification_Centre_Root_CA.pem

Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem

Adding debian:DigiCert_Global_Root_CA.pem

Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem

Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem

Adding debian:Network_Solutions_Certificate_Authority.pem

Adding debian:Buypass_Class_2_Root_CA.pem

Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem

Adding debian:DST_Root_CA_X3.pem

Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem

Adding debian:Certplus_Class_2_Primary_CA.pem

Adding debian:Trustis_FPS_Root_CA.pem

Adding debian:OpenTrust_Root_CA_G1.pem

Adding debian:Taiwan_GRCA.pem

Adding debian:AC_RAIZ_FNMT-RCM.pem

Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem

Adding debian:AffirmTrust_Commercial.pem

Adding debian:QuoVadis_Root_CA_3.pem

Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem

Adding debian:DigiCert_Global_Root_G3.pem

Adding debian:QuoVadis_Root_CA_1_G3.pem

Adding debian:thawte_Primary_Root_CA.pem

Adding debian:thawte_Primary_Root_CA_-_G2.pem

Adding debian:CA_Disig_Root_R2.pem

Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem

Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem

Adding debian:Certum_Trusted_Network_CA.pem

Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem

Adding debian:Chambers_of_Commerce_Root_-_2008.pem

Adding debian:certSIGN_ROOT_CA.pem

Adding debian:Hongkong_Post_Root_CA_1.pem

Adding debian:DigiCert_Assured_ID_Root_G2.pem

Adding debian:GlobalSign_Root_CA_-_R3.pem

Adding debian:AddTrust_External_Root.pem

Adding debian:QuoVadis_Root_CA_2_G3.pem

Adding debian:DigiCert_Trusted_Root_G4.pem

Adding debian:Staat_der_Nederlanden_EV_Root_CA.pem

Adding debian:COMODO_Certification_Authority.pem

Adding debian:Global_Chambersign_Root_-_2008.pem

Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem

Adding debian:OISTE_WISeKey_Global_Root_GA_CA.pem

Adding debian:Actalis_Authentication_Root_CA.pem

Adding debian:Entrust_Root_Certification_Authority.pem

Adding debian:GlobalSign_Root_CA_-_R2.pem

Adding debian:ACCVRAIZ1.pem

Adding debian:Certplus_Root_CA_G1.pem

Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem

Adding debian:Buypass_Class_3_Root_CA.pem


Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem

Adding debian:GeoTrust_Universal_CA.pem

Adding debian:QuoVadis_Root_CA.pem

Adding debian:TeliaSonera_Root_CA_v1.pem

Adding debian:QuoVadis_Root_CA_3_G3.pem

Adding debian:QuoVadis_Root_CA_2.pem

Adding debian:Go_Daddy_Class_2_CA.pem

Adding debian:DigiCert_Global_Root_G2.pem

Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem

Adding debian:Microsec_e-Szigno_Root_CA_2009.pem

Adding debian:SSL.com_Root_Certification_Authority_RSA.pem

Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem

Adding debian:EC-ACC.pem

Adding debian:Cybertrust_Global_Root.pem

Adding debian:DigiCert_Assured_ID_Root_G3.pem

Adding debian:SecureSign_RootCA11.pem

Adding debian:Visa_eCommerce_Root.pem

Adding debian:Atos_TrustedRoot_2011.pem

Adding debian:VeriSign_Universal_Root_Certification_Authority.pem

Adding debian:TÜRKTRUST_Elektronik_Sertifika_Hizmet_Sağlayıcısı_H5.pem

Adding debian:E-Tugra_Certification_Authority.pem

Adding debian:Certigna.pem

Adding debian:Sonera_Class_2_Root_CA.pem

Adding debian:TrustCor_RootCert_CA-2.pem

Adding debian:SwissSign_Silver_CA_-_G2.pem

Adding debian:Certum_Trusted_Network_CA_2.pem

Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem

Adding debian:CFCA_EV_ROOT.pem

Adding debian:AffirmTrust_Networking.pem

Adding debian:T-TeleSec_GlobalRoot_Class_2.pem

Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem

Adding debian:IdenTrust_Commercial_Root_CA_1.pem

Adding debian:TrustCor_RootCert_CA-1.pem

Adding debian:Comodo_AAA_Services_root.pem

Adding debian:Amazon_Root_CA_3.pem

Adding debian:GeoTrust_Universal_CA_2.pem

Adding debian:Security_Communication_RootCA2.pem

Adding debian:GeoTrust_Global_CA.pem

Adding debian:Deutsche_Telekom_Root_CA_2.pem

Adding debian:OpenTrust_Root_CA_G2.pem

Adding debian:GDCA_TrustAUTH_R5_ROOT.pem

Adding debian:USERTrust_ECC_Certification_Authority.pem

Adding debian:SecureTrust_CA.pem

Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem

Adding debian:TrustCor_ECA-1.pem

Adding debian:SZAFIR_ROOT_CA2.pem

Adding debian:Secure_Global_CA.pem

Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem

Adding debian:ePKI_Root_Certification_Authority.pem

Adding debian:GeoTrust_Primary_Certification_Authority.pem

Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem

Adding debian:Staat_der_Nederlanden_Root_CA_-_G3.pem

Adding debian:ISRG_Root_X1.pem

Adding debian:Security_Communication_Root_CA.pem

Adding debian:SwissSign_Gold_CA_-_G2.pem

Adding debian:COMODO_RSA_Certification_Authority.pem

Adding debian:Amazon_Root_CA_4.pem

Adding debian:TWCA_Global_Root_CA.pem

Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem

Adding debian:LuxTrust_Global_Root_2.pem

Adding debian:TWCA_Root_Certification_Authority.pem

Adding debian:Amazon_Root_CA_2.pem

Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem

Adding debian:DigiCert_Assured_ID_Root_CA.pem

Adding debian:XRamp_Global_CA_Root.pem

Adding debian:GeoTrust_Primary_Certification_Authority_-_G3.pem

Adding debian:Starfield_Class_2_CA.pem

Adding debian:Amazon_Root_CA_1.pem


Processing triggers for mime-support (3.60ubuntu1) …

Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.1) …

Setting up libpthread-stubs0-dev:amd64 (0.3-4) …

Setting up xorg-sgml-doctools (1:1.11-1) …

Setting up libx11-6:amd64 (2:1.6.4-3ubuntu0.1) …

Setting up libgif7:amd64 (5.1.4-2) …

Setting up x11proto-dev (2018.4-4) …

Setting up xtrans-dev (1.3.5-1) …

Setting up libxdmcp-dev:amd64 (1:1.1.2-3) …

Processing triggers for libc-bin (2.27-3ubuntu1) …

Setting up libice-dev:amd64 (2:1.0.9-2) …

Setting up libx11-doc (2:1.6.4-3ubuntu0.1) …

Processing triggers for man-db (2.8.3-2) …

Processing triggers for gnome-menus (3.13.3-11ubuntu1) …

Setting up fonts-dejavu-extra (2.37-1) …

Processing triggers for ca-certificates (20180409) …

Updating certificates in /etc/ssl/certs…

0 added, 0 removed; done.

Running hooks in /etc/ca-certificates/update.d…




Setting up libatk-wrapper-java (0.33.3-20ubuntu0.1) …

Processing triggers for hicolor-icon-theme (0.17-2) …

Processing triggers for fontconfig (2.12.6-0ubuntu2) …

Setting up openjdk-8-jre-headless:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Setting up libsm-dev:amd64 (2:1.2.2-1) …

Setting up x11proto-core-dev (2018.4-4) …

Setting up openjdk-8-jdk-headless:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Setting up libxau-dev:amd64 (1:1.0.8-1) …

Setting up libatk-wrapper-java-jni:amd64 (0.33.3-20ubuntu0.1) …

Setting up libxcb1-dev:amd64 (1.13-1) …

Setting up libx11-dev:amd64 (2:1.6.4-3ubuntu0.1) …

Setting up libxt-dev:amd64 (1:1.1.5-1) …

Setting up openjdk-8-jre:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Setting up openjdk-8-jdk:amd64 (8u181-b13-1ubuntu0.18.04.1) …

Processing triggers for libc-bin (2.27-3ubuntu1) …

Errors were encountered while processing:



E: Sub-process /usr/bin/dpkg returned an error code (1)


vskumar@ubuntu:~$ java -version

java version “1.8.0_171”

Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)



==== End of Output =====>




=== Output for downloading gradle ====>

vskumar@ubuntu:~$ wget -P /tmp

–2018-11-01 05:14:35–

Resolving (…,,, …

Connecting to (||:443… connected.

HTTP request sent, awaiting response… 301 Moved Permanently

Location: [following]

–2018-11-01 05:14:35–

Resolving (…,,, …

Connecting to (||:443… connected.

HTTP request sent, awaiting response… 200 OK

Length: 78420037 (75M) [application/zip]

Saving to: ‘/tmp/’


gradle-4.10.2-bin.z 100%[==================>]  74.79M  1.83MB/s    in 47s


2018-11-01 05:15:22 (1.60 MB/s) – ‘/tmp/’ saved [78420037/78420037]



=== End of output =============>


=== Gradle Files verification ===>

vskumar@ubuntu:~$ ls /opt/gradle/gradle-4.10.2

bin  getting-started.html  init.d  lib  LICENSE  media  NOTICE




=== Output for shell config file creation =====>

skumar@ubuntu:~$ sudo vim /etc/profile.d/

vskumar@ubuntu:~$ cat  vim /etc/profile.d/

cat: vim: No such file or directory

export GRADLE_HOME=/opt/gradle/gradle-4.10.2

export PATH=${GRADLE_HOME}/bin:${PATH}


=========== End of file content display ====>


=== Output for version checking ====>

vskumar@ubuntu:~$ source /etc/profile.d/

vskumar@ubuntu:~$ gradle -v


Welcome to Gradle 4.10.2!


Here are the highlights of this release:

– Incremental Java compilation by default

– Periodic Gradle caches cleanup

– Gradle Kotlin DSL 1.0-RC6

– Nested included builds

– SNAPSHOT plugin versions in the `plugins {}` block


For more details see




Gradle 4.10.2



Build time:   2018-09-19 18:10:15 UTC

Revision:     b4d8d5d170bb4ba516e88d7fe5647e2323d791dd


Kotlin DSL:   1.0-rc-6

Kotlin:       1.2.61

Groovy:       2.4.15

Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018

JVM:          1.8.0_171 (Oracle Corporation 25.171-b11)

OS:           Linux 4.15.0-29-generic amd64




==== End of Lab exercise output  ===========>

Good luck!!
Thanks for visiting this blog/video……. bye for now…


DevOps Practices FAQ -1

With reference to my DevOps Practices group questions/queries, I would like to publish some of the questions in this blog also.

The DevOps experienced readers are invited to comment on the queries/questions below this blog itself for future readers purpose.

I would like to pose the below questions for practitioners.
As we all are aware most of the current DevOps engineers are from the background of Sysadmin roles.
1. When they transition into these modern roles, what kind of issues they might face ?
2. Are they comfortable to mix with Dev and Ops culture ?
3. Can they adopt the Sprint cycles ?
4. As A practitioner what kind of support you might need to give it to them ?
Please let us start our discussion with your opinions through this blog.

=== Please note the following on the agenda of the Facebook group ====>

These questions are created through a DevOps  practices group for the professionals who are in DevOps Practices. Their typical roles are; DevOps Engineers, DevOps Architects, DevOps Practioners, etc. Basically the relevant Infra architects also will come into this group like; Cloud architects. But most of our discussions are related to processes, procedures, standards and Implementations.

Please note we are not going to discuss on any tools or cloud services behavior and their usage. There are numerous sites on these areas. You are most welcome to post the issues you face related to improvement of the delivery/sprint cycles through your retrospectives. These can create some actions and outcomes. And all of these can be mapped to the tools those are being used in the projects. This way the new practitioners can learn faster to push the feedback/CDI cycles in their regular projects. Hence the joiners in this group please note all the above and scope of the discussion to scale up yourself. Good luck!

Note: For DevOps technical blogs please visit my site:
If you are a learner in DevOps, please send a FB request to me. The declined professionals for this group, need to validate as per this description.

With reference to this group agenda, for every member monthly few knowledge sharing discussions participation need to be there to sustain their membership. Totally inactive members are not eligible for continuation.



DevOps Patterns




DevOps Practices coaching

  1. Please walk-through the below chart for your DevOps practices implementation. These are nowhere connected with any specific DevOps tools. Just practices implementation only to show your velocity in DevOps complianced projects execution.  
  2. These are the best practices used by the DevOps successful implementation organizations.
  3. Who need to learn these?: If you are already working as DevOps professional, [Ex: DevOps engineer, Practitioner, Architect, Practice head, Related to DevOps implementation, etc.] and your organization is demanding/targeted to demonstrate its [DevOps implementation] velocity then you need to accelerate your speed in catching up the knowledge on several areas for  continuous improvements.
  4. Note; you also need to apply continuous learning or seek coaching to speedup your productivity through experienced professionals.

DevOps Patterns


If you are qualified you can join the below group also.

If you are  new for DevOps, visit:

Continuous test automation planning during Agile iterations

Continuous test automation planning during Agile iterations

Please refer to my blog and videos on Agile practices and the importance of Re-usable code libraries for cycle time reduction.

During the reusable code usage and the iterations or sprint planning, the test automation also can be planned, designed and implemented.

This blog eloborates on  the easy processes can be used to implement it and demonstrate the cycle time reduction. Please note atleast after passing the two cycles of tests on the selected manual scripts need to be planned for test automation.

I am trying to elaborate on the process of the Automation of unit testing and component or module integration test automation. Please note the test automation is also a development project. Hence some of the phases are similar to SDLC. The pictorial chart elaborates the detailed steps involved in these test phases automation. Module (Unit) or Component Development in Agile: The below contents and the chart narrates the relationship of automation Development process and the Testing process under each development phase. Development and Testing process Relationship table:

Phase Development Process Test Process
Module (Unit) or component Development Design module from requirements Perform test planning and test environment set up.
  Code module Create test design and develop test data.
  Debug module Write test scripts or record test scenario using module.
  Unit test module Debug automated test script by running against module. Also, tools that support unit testing [Purify, etc] can be used.
  Correct defects Rerun automated test script to regression test as defects are corrected.
  Conduct Performance Testing Verify system is scaleable and will meet the performance requirements. This is the entry criteria for Integration test automation.
Build system by connecting modules.Conduct Integration test with connected modules.Review trouble reports. Combine unit test scripts and add new scripts that demonstrate module inter-connectivity. Use test tool to support automated integration testing.
  Correct defects and update defect status. Rerun automated test script as part of regression test, as defects are corrected.
  Continued Performance Testing Activities At this point, Verifying system is scaleable and will meet performance requirements with the integrated modules. If this passes then the system test or VVT entry can be considered.

Below chart demsontrates the process steps to be used for test automation of unit test and integration testing:


The acronyms used in the chart: TC–>Test case, TD–>Test data, TR–> Test requirement, UT–>Unit test, IT–> Integration test.

All the automated test scripts and test data  need to be preserved under configuration management tools.

Choosing the right tools for test automation comes under tools evaluation process. Once the tools are identified, the above processes can be planned and adopted for regular practice on the Agile projects.



Vcard-Shanthi Kumar V-v3