Tuesday, December 15, 2015

Linux Commands

Completely remove an application

  • dpkg --purge --force-depends 
  • sudo apt-get purge --auto-remove 
  • sudo apt-get remove 
  • sudo apt-get remove --purge 
  • dpkg --remove --force-remove-reinstreq 
remove-reinstreq: Remove a package, even if it's broken

Tuesday, December 1, 2015

Open Source Softwares (OSS)

Open Source Softwares (OSS)



  • can be user free of charge
  • is subject to license terms
  • may be modifed and passed to anyone
  • Is type of software whose source is made freely available
  • There are upto 200 different license(divided in to 5 groups) in existence.

  1. Strong Copyleft: ex. GPL, CPL [Licenses with a strong copyleft clause stipulate that all modified versions (where these are distributed and made available to the general public) must be subject to the original license.]
  2. Restricted Copyleft: LGPL (Lesser GPL), MPL(mozill public lic) [where the original license must be imposed on all modified versions of the software if they are distributed]
  3. No Copyleft: BSD, Apache [do not carry any obligation to make the newly added or modified code likewise subject to an OSS license.]
  4. OSS with options: Perl Artistic, Clarified Artistic [This group is a "catch-all term" for any licenses that cannot be assigned to any other group.]
  5. OSS with Privileges: e.g., software companies such as Netscape. [whose exploitation rights are reserved by the authors. e.g., by allowing them to use versions modified by external programmers as if they were their own property.]
  • GPL v2 : OSS licenses within this group contain different license obligations.
  • If no derivative work is created, the original GPL component remains subject to the GPL, but the modified proprietary component can be distributed under any license (including a proprietary one).
  • Different licenses cannot be combined if they contain conflicting license terms.
  • OSS officer has to scan the software purchasing/sales/distribution. (OSS Management)

Additional Info


  • Copyleft "Copyleft" means that a piece of software that is subject to certain OSS license conditions can only be distributed under the same or compatible OSS license terms as the case may be.
  • Derivative work The term "derivative work" or "derivative" refers to software based on an OSS and constituting an extension, development, modification or other processing thereof.

Thursday, September 17, 2015

PermGen setup

Memory Setup

Jvm

> java -Xmx2g -Xms512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Maven

Windows

> set MAVEN_OPTS=-Xmx2g -Xms512M -XX:MaxPermSize=3g -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -XX:+HeapDumpOnOutOfMemoryError

Linux

> export MAVEN_OPTS=-Xmx2g -Xms512M -XX:MaxPermSize=3g -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -XX:+HeapDumpOnOutOfMemoryError

 Tomcat

Windows

> set JAVA_OPTS=-Xmx2g -Xms512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Linux

> export JAVA_OPTS=-Xmx2g -Xms512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Kill Windows Service

Kill Windows Service

Open command prompt in windows. Windows > Run > cmd > [Enter]
> sc queryex
SERVICE_NAME:
        TYPE               : 110  WIN32_OWN_PROCESS  (interactive)        STATE              : 4  RUNNING                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)        WIN32_EXIT_CODE    : 0  (0x0)        SERVICE_EXIT_CODE  : 0  (0x0)        CHECKPOINT         : 0x0        WAIT_HINT          : 0x0        PID                :
        FLAGS              :
> taskkill /f /pid 

Or If you know the image name
> taskkill /f /im <image_name>

Monday, September 14, 2015

Log Viewer for WAS 6.1

Web-based log viewer for IBM Websphere 6.x

Advantages:

- Very helpful for test & development environments to view the log files on the browser
- Log viewer would scan through all available profiles and display the log files
Available at http://hostname:port/logview/

Screenshots:

1) Welcome page
2) Profile display page: Displays the list of server profiles. Please contact the admin team to know the actual profile used for the particular application

3) Log folder view: Displays the log folders available
4) Log file viewer: Either view the log online or download the log file.

Wednesday, September 2, 2015

Continuous Integration Tool


Following tools used for CI

Open Source
  1. Jenkins
  2. CruiseControl
Commercial
  1. ThoughtWorks’ Go
  2. Urbancode’s Anthill Pro
  3. Jetbrains’ Team City
  4. Microsoft’s Team Foundation Server
There are not much difference in these tools (including open source tools). Depends on the organization, which one to use.

Friday, July 3, 2015

Mysql / Sonar Data Migration



  • Take mysql dump and copy the sql file to the other machine

> mysqldump -u root -p --opt [database name] > [database name].sql


  • Drop and create clean database

> mysql -u root -p
> DROP DATABASE [database name];
> CREATE DATABASE [database name];


  • Create the data

> mysql -u root -p [database name] < /path/to/[database name].sql

Wednesday, February 11, 2015

Jenkins SonarQube Error

Issue:

Following error while running Sonar via Jenkins.

INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 1:22.624s
Final Memory: 50M/777M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: The svn blame command [svn blame --xml --non-interactive -x -w src/main/java/path/to/package/ClassName.java] failed: svn: E155036: Please see the 'svn upgrade' command
svn: E155036: The working copy at 'C:\Jenkins_Home\jobs\JobName\workspace\src\main\java\path\to\package'
is too old (format 8) to work with client version '1.8.10 (r1615264)' (expects format 31). You need to upgrade the working copy first.

Solution


  • Navigate to Manage Jenkins > Configure System
  • Look for a 'Subversion Workspace Version' dropdown ( Default: 1.4)
  • Change the version to latest (1.8)

Monday, February 9, 2015

Sonar Analysis via Jenkins

PreRequisite:

Sonar Plugin Installation for Jenkins

Outside Internal Network

  • Navigate to Jenkins > Manage Jenkins > Manage Plugins > Available 
  • Search "Sonar Plugin" and install the same.
  • Restart Jenkins.

Inside Internal Network

  • Navigate to Jenkins > Manage Jenkins > Manage Plugins > Advanced
  • Type the proxy details inside "HTTP Proxy Configuration" and follow the steps for "Outside Internal Network".
OR
  • Find the latest sonar plugin https://updates.jenkins-ci.org/download/plugins/sonar/.
  • Save the downloaded *.hpi/*.jpi file for Sonar Plugin.
  • Navigate to Jenkins > Manage Jenkins > Manage Plugins > Advanced > Upload Plugin
  • Upload the downloaded *.hpi/*.jpi file for Sonar Plugin into Jenkins.
  • Restart Jenkins.

OR
  • Save the downloaded *.hpi/*.jpi file into the $JENKINS_HOME/plugins directory and Restart Jenkins.
  • Restart Jenkins.

Add SonarQube Server Details

  • Navigate to Jenkins > Manage Jenkins > Configure System.
  • Find the Keyword "Sonar" and check for Sonar Installation and Click on "Add Sonar > Advanced..."

  • Fill the fields
    • Name : <Sonar name, whatever you want to>
    • Server URL :
    • Sonar account login :
    • Sonar account password:
    • Database URL : (say jdbc:mysql://localhost:3306/sonar)
    • Database login :
    • Database password :
    • Database driver : (say com.mysql.jdbc.Driver)
  • Click "Save".

Add Sonar-Runner Details

  • Navigate to Jenkins > Manage Jenkins > Configure System.
  • Find the Keyword "Sonar Runner" and check for "Sonar Runner Installation" and Click on "Add Sonar Runner"
  • Fill the fields
    • Name : <Sonar Runner name, whatever you want to>
    • SONAR_RUNNER_HOME : <Sonar Runner Extracted Directory path>
  • Click "Save".

Sonar Analysis via Jenkins

  • Navigate to Jenkins > Job (Already created before say SampleJob)
  • Click on link "SampleJob"
  • In the left navigation Menu, click "Configure".
  • Click to "Add build step", a list will open
  • Then click "Invoke Standalone Sonar Analysis".
  • Add the details to run Sonar.
  • Run the Jon (SampleJob).

Tuesday, February 3, 2015

SonarQube Install

SonarQube (previously known as "Sonar") Install

SonarQube (previously known as "Sonar")

  • Download and extract the latest sonarqube.zip http://dist.sonar.codehaus.org/sonarqube-x.x.zip.
  • Edit <install_directory>/conf/sonar.properties to configure the database settings.
Say DB available for sonar is mysql then
sonar.jdbc.username=sonaruser
sonar.jdbc.password=sonarpwd
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar
[Better to uncomment above lines in the default sonar.properties file] 
More advance features (as host, port, context, java options, proxy...) can be edited in this files.
  • To start sonarqube on windows 64bit(choose the folder according to your OS).
C:>"<install_directory>\bin\windows-x86-64\StartSonar.bat" 
  • Install sonarqube as service.
C:>"<install_directory>\bin\windows-x86-64\InstallNTService.bat"
  • Start sonarqube service
C:>"<install_directory>\bin\windows-x86-64\StartNTService.bat"

Troubleshooting

  • I service does not start then
  • Open windows services (Window+R > Type services + Enter) and go to SonarQube.
  • Open properties > Log On > This account > provide the admin user details for the system.

Jenkins Install


Way 1:


Way 2:

c: > java -DJENKINS_HOME=<path_to_jenkins_home> -jar jenkins.war --httpPort=<http_port_to_run_jenkins>

MySQL Install

Mysql Installation


  • Extract the install archive to the chosen installation location (Say "C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx" ).
  • Copy .ini file (say "my-default.ini") from "...\MySQL Server x.x.xx\my-default.ini" to "...\MySQL Server x.x.xx\data\my-default.ini".
  • Edit "...\MySQL Server x.x.xx\data\my-default.ini" and type the following lines
basedir =C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx
datadir =C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx\data
  • To start the server, enter command:
C:\> "C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx\bin\mysqld" --console
  • To start the mysqld server:
C:\> "C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx\bin\mysqld"
  • The path to mysqld may vary depending on the install location of MySQL on your system.
  • To stop the mysqld server:
C:\> "C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx\bin\mysqladmin" -u root shutdown
  • Add/update "Path" variable in "Environment Variables" - "System Variables" - Path with "C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx\bin".
  • Stop the server & Install the server as a service using this command:
C:\> "C:\MyLocation\mysql\MySQL\MySQL Server x.x.xx\bin\mysqld" --install

Sunday, January 11, 2015

Maven Install


For Windows:

  • You need a Java Development Kit (JDK).
  • Explode maven. say C:\Program Files\Apache Software Foundation/apache-maven-X.X.X
  • Add the following environment variables.
    • Set JAVA_HOME=C:\Program Files\Java\jdk-X.X.X
    • Set Path=%Path%;%JAVA_HOME%\bin
    • Set M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-X.X.X
    • Set M2=%M2_HOME%\bin
    • Set Path=%Path%;%M2%
  • Run mvn --version

For Linux:

~$ tar -xzvf apache-maven-x.y.z-bin.tar.gz
~$ sudo cp -R /extracted/path/to/maven/apache-maven-x.y.z /usr/local
~$ cd /usr/local/apache-maven-x.y.z/bin/
~$ sudo ln -s /usr/local/apache-maven-x.y.z/bin/mvn /usr/bin/mvn

HTML encoder

If you need to encode HTML/CSS/JavaScript code.

say: To write on blog

Use : http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx

encode your code and paste it to blog post.