Jenkins not showing on Ubuntu through google cloud

I’ve installed Jenkins on my Ubuntu machine running on compute engine in Google Cloud.

To do so I have run these commands:

  • Git deploy in autoscaling environment (Google Cloud Instance Group)
  • Pushing local Git repository to remote Google Cloud Repository from inside Eclipse?
  • How can I deploy direct from Google Cloud Source Repository to Google App Engine?
  • “Please generate new Identifier” error when pushing to cloud services using Android studio
  • Google App Engine, Google Cloud Console, Jenkins trigger builds remotely, gcloud command not found
  • How to do code review for google cloud git repo
  • sudo apt-get update
    sudo apt-get install apache2 libapache2-mod-php5 php5-mcrypt php5-mysql git openjdk-7-jre openjdk-7-jdk -y
    wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    sudo apt-get update
    sudo apt-get install jenkins
    

    Jenkins seems to be installing fine but when i go to the public IP address on port 8080 there nothing there. I read that it may be so that Apache is using port 8080 so I edited /etc/default/jenkins and changed the port to 8081. Still I don’t see jenkins on that port.

    I’ve also restarted the service but no change there. If I do:

    sudo netstat -plntu
    

    I see:

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      422/sshd        
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      9745/apache2    
    tcp6       0      0 :::22                   :::*                    LISTEN      422/sshd        
    tcp6       0      0 :::8081                 :::*                    LISTEN      17917/java      
    udp        0      0 0.0.0.0:53763           0.0.0.0:*                           294/dhclient    
    udp        0      0 0.0.0.0:68              0.0.0.0:*                           294/dhclient    
    udp        0      0 10.132.0.2:123          0.0.0.0:*                           372/ntpd        
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           372/ntpd        
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           372/ntpd        
    udp6       0      0 :::9732                 :::*                                294/dhclient    
    udp6       0      0 :::33848                :::*                                17917/java      
    udp6       0      0 ::1:123                 :::*                                372/ntpd        
    udp6       0      0 :::123                  :::*                                372/ntpd        
    udp6       0      0 :::5353                 :::*                                17917/java 
    

    If I check the status of the services it seems to be running:

     [ + ]  acpid
     [ + ]  apache2
     [ - ]  bootlogs
     [ - ]  bootmisc.sh
     [ - ]  checkfs.sh
     [ - ]  checkroot-bootclean.sh
     [ - ]  checkroot.sh
     [ + ]  cron
     [ + ]  dbus
     [ - ]  generate-ssh-hostkeys
     [ - ]  hostname.sh
     [ - ]  hwclock.sh
     [ + ]  jenkins
     [ - ]  killprocs
     [ + ]  kmod
     [ - ]  motd
     [ - ]  mountall-bootclean.sh
     [ - ]  mountall.sh
     [ - ]  mountdevsubfs.sh
     [ - ]  mountkernfs.sh
     [ - ]  mountnfs-bootclean.sh
     [ - ]  mountnfs.sh
     [ + ]  networking
     [ + ]  ntp
     [ + ]  procps
     [ + ]  rc.local
     [ - ]  rmnologin
     [ - ]  rsync
     [ + ]  rsyslog
     [ - ]  screen-cleanup
     [ - ]  sendsigs
     [ + ]  ssh
     [ - ]  sudo
     [ + ]  udev
     [ + ]  udev-finish
     [ - ]  umountfs
     [ - ]  umountnfs.sh
     [ - ]  umountroot
     [ - ]  unattended-upgrades
     [ + ]  urandom
     [ - ]  uuidd
     [ - ]  x11-common
    

    Can someone tell me what I am doing wrong here?

  • Jenkins Git Publisher tag not picking up environment variables
  • How to start grunt server in Jenkins correct
  • How do I setup Git version control on Jenkins (on Windows)
  • From Jenkins, how to access to a secured repository in GitBlit (over http(s))?
  • Exclude user from triggering Jenkins build webhooks
  • Triggering builds remotely in Jenkins
  • One Solution collect form web for “Jenkins not showing on Ubuntu through google cloud”

    As far as the VM is concerned, it looks like Jenkins is indeed running (based on the output from netstat and the list of running services):

    tcp6 0 0 :::8081 :::* LISTEN 17917/java

    Jenkins is a java application, and hence the process might only show up as java.

    It look like you’re trying to access the service through the instance’s public IP and port. The Google Compute Engine (GCE) firewall might be blocking this, since by default all incoming ports from external IPs in GCE VMs are blocked.

    If your goal is to access this port on this machine from any public IP, you can follow these steps to grant access:

    Using gcloud

    # Create a new firewall rule that allows INGRESS tcp:8081 with VMs containing tag 'allow-tcp-8081'
    gcloud compute firewall-rules create rule-allow-tcp-8081 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-8081 --allow tcp:8081
    
    # Add the 'allow-tcp-8081' tag to a VM named VM_NAME
    gcloud compute instances add-tags VM_NAME --tags allow-tcp-8081
    
    # If you want to list all the GCE firewall rules
    gcloud compute firewall-rules list
    

    Using Cloud Console

    1. Menu -> Networking -> Firewall Rules
    2. Create Firewall Rule
    3. Choose the following settings for the firewall rule:

      1. Name for the rule – rule-allow-tcp-8081 or any other name you prefer for this firewall rule.
      2. Direction is ingress
      3. Action on match is Allow
      4. Targets is Specified target tags
      5. Target tags is allow-tcp-8081
      6. Source IP ranges is 0.0.0.0/0 (or if you have a set of IP ranges you know will be the only ones accessing this, use them instead for stronger restriction)
      7. Protocols and ports is tcp:8081
      8. Select Create button to create this firewall rule.
    4. Once you’ve created the above firewall rule you will need to add the tag allow-tcp-8081 to all the instances where this rule needs to be applied. In your case:

      1. Open up the GCE VM Instances page
      2. Select the instance where Jenkins is running
      3. In the VM instance details page, select the Edit link on the very top.
      4. In the Network Tags box, enter allow-tcp-8081 to apply the tag to this instance.
      5. Select Save to save the changes.

    Now give it a few seconds to a few minutes for the changes to take effect and you will be able to access the jenkins web URL.

    You can also go through the documentation for Firewall rules to get a better understanding of how they work and how to configure them.

    NOTE: By using a source range of 0.0.0.0/0, you’re opening up this port to the entire internet, so clients anywhere in the world will be able to connect to this port. Be aware of the security implications of doing this.

    Git Baby is a git and github fan, let's start git clone.