Tuesday, October 8, 2013

Jenkins Slave Automatic Start

Scenario: Jenkins Master running on Windows with a Jenkins Slave running on CentOS

Problem: The Jenkins Slave is not automatically connecting after a restart of the slave server, master server, or master Jenkins service

Solution: In early 2013 Jenkins introduced a security token fix outlined here

The thread provides many options for connecting. I decided the path of least resistence was to enable anonymous connect/disconnect for slaves. This is acceptable in my environment because each Jenkins instance is behind a firewall and I feel the security risk is minimal. This might not always be the case, but in this situation, it fixed the problem quickly.

I created a jenkins-slave service in /etc/init.d based on this article. I made a few modifications to the script, but it's working great.

Friday, October 4, 2013

AWS SimpleDB IAM Access

We have nodejs applications running in AWS EC2. Instances should be disposable. We setup the apps to log to AWS SimpleDB. But creating a user to access SimpleDB was more difficult then I expected. In IAM, I created a user and applied two policies using the policy generator:
{
  "Statement": [
    {
      "Action": [
        "sdb:*"
      ],
      "Resource": [
        "arn:aws:sdb:*:1111222333:domain/node*"
      ],
      "Effect": "Allow"
    }
  ]
}

{
  "Statement": [
    {
      "Action": [
        "sdb:ListDomains"
      ],
      "Resource": [
        "arn:aws:sdb:*:1111222333:*"
      ],
      "Effect": "Allow"
    }
  ]
}
The number is the AWS account number
The key for success was the second policy for Listing Domains

This is an excellent way to connect and manage SimpleDB from the Chrome browser
https://chrome.google.com/webstore/detail/sdbnavigator/ddhigekdfabonefhiildaiccafacphgg?hl=en-US