Jenkins Kurulumu (Ubuntu)

Bir continuous integration aracı olan Jenkins‘i, Ubuntu üzerine apache kurulu bir sunucu ile nasıl kurulduğuna bakalım.

Öncelikle Ubuntu üzerine kurulumunu yapalım:

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 apt-get update
sudo apt-get install jenkins

Kurulum başarılı geçtiyse 8080 portundan Jenkins arayüzüne ulaşabilmeniz lazım. Dikkat ettiyseniz burada iki güvenlik problemi var. Birincisi web arayüzüne 80 dışında bir portla erişmemiz, ikincisi Jenkins dashboard’una girmek için bizden herhangi bir kullanıcı bilgisi istenmemesi. Jenkins’in herkese açık olması (read-only modu dışında, herkesin her işlemi yapabildiği default ayarı kastediyorum) büyük bir güvenlik sorunu. O nedenle biz bu arkadaşı bir subdomain’e taşıyalım ve basic authentication ile girişlere kapatalım.

Öncelikle ci.domain.com için DNS kayıtlarına A record ekleyelim. Ardından aşağıdaki apache modlarını açalım:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod vhost_alias

/etc/apache2/sites-available” dizini altına ci.domain.com adında bir dosya açıp içine subdomain’nin virtual host bilgilerini girelim:

<VirtualHost *:80>
	ServerAdmin info@domain.com
	ServerName ci.domain.com
	ServerAlias ci.domain.com
	ProxyRequests Off
	<Location />

	    # Basic Authorization
	    AuthType Basic
	    AuthName "Password required"
	    AuthUserFile /etc/apache2/passwords
	    Require valid-user

	    ProxyPassReverse /

	    Order deny,allow
	    Allow from all
	</Location>
	ProxyPreserveHost on
	ProxyPass / http://localhost:8080/
</VirtualHost>

Eklenen virtual host’u aktif edip apache’yi yeniden başlatalım:

sudo a2ensite ci.domain.com
sudo service apache2 reload
sudo service apache2 restart

Şimdi giriş için kullanıcı tanımlayalım:

sudo htpasswd -c /etc/apache2/passwords <kullanıcı adınız>

Yukarıdaki komut sizden girdiğiniz kullanıcı adı için şifre isteyecektir. Kullanıcı tanımladıktan sonra http://ci.domain.com adresinden Jenkins arayüzüne ulaşabilirsiniz.