This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.
Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Configurate BAMBOO CI

From what to start ?

Start from installation of JAVA newest version (to use Bamboo like CI you will need at least java 8). Instruction with configuration(for Ubuntu) on the image below

Install-JAVA-8

Result:

Selection_123

BAMBOO Configuration

Step 1 : Download and install bamboo server from here bamboo

Step 2 : Set bamboo home directory(it must be outside installation directory, and name must be without special symbols), example in the image below

Selection_002

Step 3: Run server

Selection_004

alternative SUDO UBUNTU install Bamboo

# bamboo
mkdir /opt/atlassian
wget -O /opt/atlassian/bamboo.tar.gz http://www.atlassian.com/software/bamboo/downloads/binary/atlassian-bamboo-5.1.1.tar.gz
cd /opt/atlassian
tar xzf bamboo.tar.gz
mv atlassian* bamboo

mkdir /home/bamboo




set bambo home derectory /opt/atlassian/bamboo/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
# java
sudo echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y install python-software-properties
add-apt-repository -y ppa:webupd8team/java
apt-get update
apt-get install -y oracle-java7-installer
/opt/atlassian/bamboo/bin/start-bamboo.sh

Step 4: Open http://localhost:8085/ and if all correctly done before you will need to set licence(you can buy it or get some free, I am will be using free licence)

Selection_125

Step 5: After configuration of server you will need to create your first build plan

Step 6: Run your plan.

VIEW VIDEO

All this works with local server if you want to configure remote linux server and to run tests headless you need to change your project a little bit and add some configs

Running Selenium WebDriver Tests over Bamboo

Situation

  • You have a Selenium WebDriver test suite that runs well on your local machine.
  • You have a working install of Bamboo, and wish to run your tests over Bamboo

What you need:

  • A working knowledge of Selenium WebDriver, Java, Bamboo

I’m assuming you have the knowledge to set up a Bamboo plan here example of maven task for Bamboo plan.

The only thing you’d do differently is, to pass a parameter called DISPLAY to the Bamboo Plan.
Go to the Plan Configuration page for your Bamboo Plan (Actions > Configure Plan)

  • Hit the “Variables” tab.
  • Pass a DISPLAY parameter, with the value :10

Install, configure and start Xvfb

So we need Xvfb, which will basically fake a display to Chrome.
Installing Xvfb is pretty simple. On my Linux Ubuntu server, it’s
sudo apt-get install Xvfb

Now start Xvfb as follows:

Xvfb :10 -screen 0 1024x768x24 &

Make sure you use the same display number everywhere. In this blog post I use :10

Change the way you start WebDriver

To start WebDriver under the new headless scenario, you need to
  • First start ChromeDriverService and pass it the same DISPLAY value you set earlier.
  • Make sure that you pass it the location of your ChromeDriver executable.
    • This is shown below, using the CHROME_DRIVER variable.
  • Then start ChromeDriver as a RemoteWebDriver.
  • Pass it the URL of your ChromeDriverService.

EXAMPLE OF CODE BELLOW

import com.google.common.collect.ImmutableMap;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.*;
import java.io.File;
import java.io.IOException;
public class Settings {
protected static WebDriver driver;
protected static String baseURL = "your base url";
public static ChromeDriverService service;
@BeforeClass
public static void createAndStartService() {
    service = new ChromeDriverService.Builder().usingDriverExecutable(new File("pass to your chrome")).usingAnyFreePort()
            .withSilent(true)
            .withVerbose(false)
            .build();
    try {
        service.start();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
@AfterClass
public static void createAndStopService() {
    service.stop();
}
@BeforeMethod
public void setUp() throws IOException {
    driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());
    driver.get(baseURL);
}
@AfterMethod
public void tearDown()
{
    driver.quit();
}

public static WebDriver getDriver()
{
    return driver;
}

And your class with test will be look like

public class Tests extends Settings {
    @Test(groups = "smoke tests registration", description = "example")
    public void test_base_url() {
        driver.get(baseURL);
    }

Short description of Bamboo CI

Integrations that matter

Connect Bamboo with JIRA Software, Bitbucket, Fisheye & Crucible, HipChat and hundreds of other tools!

Continuous delivery

Deployment projects, and the integrations with AWS CodeDeploy and Docker provide all you need to deliver your final product. Use Docker and AWS CodeDeploy as build or deployment tasks. Release with ease!

Development workflow

Connect Bamboo with Fisheye and Crucible,Bitbucket, and JIRA Software. Then sit back, relax and watch how the status of builds, deployments and commits gets updated across all the tools.

Real-time collaboration

Stay on top of failed builds, tests and deployments, and communicate with the team in real-time with notifications delivered to a HipChat room.

Ship high quality products, faster!

Better CI/CD

Software teams in every industry are upgrading their continuous integration and delivery pipeline with Bamboo. Easy build import from popular open source tools and native support for Git, Hg, and SVN means you’ll be building and deploying like a champ.

Dev + Ops

We’re familiar with the DevOps philosophy and have you covered! Set up CI builds as normal, and feed the artifacts into deployment projects. Combine home-grown scripts, smoke tests, and third-party technologies to define the deployment steps for each environment. Bamboo supports you all the way, from continuous integration, to deployment, to delivery!

 

Jenkins importer

Teams migrating from Jenkins can import builds into Bamboo, slashing the transition time. Build engineers have better things to do than recreate configs click by tedious click.

Get the Jenkins vs. Bamboo lowdown here.

Full SCM Support

In addition to Git, Bamboo hooks into SVN, Mercurial, Perforce, CVS, and repositories in Bitbucket and FishEye. It ties builds to the code changes they contain. Commit messages, authors, reference numbers, and dates are displayed in each build result and one click takes you to the repository viewer to see diffs, history, and browse related code.

Git





Bamboo alleviates the pain found at the intersection of continuous integration (CI) and distributed version control systems like Git and Mercurial. New branches are automatically brought under the same CI scheme as master, and any two branches in the repo can be merged automatically before each test run. Wanna Git more? Here is all you need.

Continuous Learning

With a variety of training, best practices, and support resources, help is never far away. Check out the quick-start guide, Atlassian blog, help docs and Atlassian Answers. Also, Bamboo comes with access to our legendary support team – file a ticket and they’ll get back to you fast.