Search

FusionCloud – TechTalks + Tips and Tricks + Linux + etc

TechTalks + Tips and Tricks + Linux + etc

Category

Jenkin

Drupal Automation using Open Stack at Drupal Developers Day 2013

Just recently i talked about Drupal Automation using Open Stack at Drupal Developers Day 2013 at Microsoft Philippines, 6750 Ayala Makati City, Philippines. I discussed about the Open Stack and how to automate Drupal sites. Below are my talk agenda:

1. Basic Open Stack Architecture

2. Discussed Open Stack Components

3. Demonstrated Horizon

4. Demonstrated how to create servers triggered via shell script

Unfortunately i wasnt able to demo nova api  due to firewall restriction. I think only http and https are working in our connection. But in the end it went well and more and more developers, system admins, devops are already on queue in learning Open Stack.

Screen Shot 2013-11-03 at 2.28.35 PM

Heres a awesome video of the event:

 

How to install jenkins on ec2 ubuntu image disc

Installation

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo aptitude update
sudo aptitude install jenkins

Upgrade

Once installed like this, you can update to the later version of Jenkins (when it comes out) by running the following commands:

sudo aptitude update
sudo aptitude install jenkins

(aptitude or apt-get doesn’t make any difference.)

What does this package do?

  • Jenkins will be launched as a daemon up on start. See /etc/init.d/jenkins for more details.
  • The ‘jenkins‘ user is created to run this service.
  • Log file will be placed in /var/log/jenkins/jenkins.log. Check this file if you are troubleshooting Jenkins.
  • /etc/default/jenkins will capture configuration parameters for the launch.
  • By default, Jenkins listen on port 8080. Access this port with your browser to start configuration.

Setting up an Apache Proxy for port 80 -> 8080

  • This configuration will setup Apache2 to proxy port 80 to 8080 so that you can keep Jenkins on 8080.
  • sudo aptitude install apache2
  • sudo a2enmod proxy
  • sudo a2enmod proxy_http
  • sudo a2enmod vhost_alias
    do not do this next command if you already have virtual hosting setup that depends on the default site. See my comment below – danapsimer
  • sudo a2dissite default
  • Create a file called jenkins in /etc/apache2/sites-available
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName ci.company.com
	ServerAlias ci
	ProxyRequests Off
	<Proxy *>
		Order deny,allow
		Allow from all
	</Proxy>
	ProxyPreserveHost on
	ProxyPass / http://localhost:8080/
</VirtualHost>
  • sudo a2ensite jenkins
  • sudo apache2ctl restart

Setting up an Nginx Proxy for port 80 -> 8080

This configuration will setup Nginx to proxy port 80 to 8080 so that you can keep Jenkins on 8080. Instructions originally found in a GitHub Gist from rdeggeshttps://gist.github.com/913102

  • Install Nginx.
    sudo aptitude -y install nginx
  • Remove default configuration.
    cd /etc/nginx/sites-available
    sudo rm default
  • Create new configuration for Jenkins. This example uses cat, but you can use your favorite text editor. Make sure to replace ‘ci.yourcompany.com’ with your domain name.
    Note: Sometimes your permissions (umask, etc) might be setup such that this won’t work. Create the file somewhere else then copy it into place if you run into that problem.

    sudo cat > jenkins
    upstream app_server {
        server 127.0.0.1:8080 fail_timeout=0;
    }
    
    server {
        listen 80;
        listen [::]:80 default ipv6only=on;
        server_name ci.yourcompany.com;
    
        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_redirect off;
    
            if (!-f $request_filename) {
                proxy_pass http://app_server;
                break;
            }
        }
    }
    ^D # Hit CTRL + D to finish writing the file
  • Link your configuration from sites-available to sites-enabled:
    sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
  • Restart Nginx
    sudo service nginx restart
     You have just installed jenkins

Create a free website or blog at WordPress.com.

Up ↑