четверг, 18 октября 2012 г.

Конфигурим Jenkins: добавляем Slave в Master

Предположим, что у нас есть 2 машины, на одной из них (Master) установлен и запущен Jenkins. Задача добавить вторую машину в Master.

Ставим Jenkins на CentOS 6

Нашел 2 варианта через tomcat5 и через yum.

Вариант установки через YUM

Качаем репу с сайта Jenkins'a
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

Либо пишем репу вручную:
# vi  /etc/yum.repos.d/jenkins.repo
Then paste the following and save (ESC+w+q)
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins-ci.org/redhat/
gpgcheck=1
Далее добавляем GPG ключ:
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

Обновляем YUM и ставим:
yum install jenkins

Если все ок, то jenkins будет доступен по адресу http://yourhost:8080/jenkins

Вариант установки через Tomcat 5

 Ставим Java, Ant и Tomcat5
yum install -y java ant
yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps

Then we need to add Tomcat to our server startup
chkconfig --add tomcat5
Now edit Tomcat configuration file to add Hudson home directory (We will use /data/hudson/)
vi /etc/tomcat5/tomcat5.conf
Add at the bottom of the file
# If you wish to further customize your tomcat environment,
# put your own definitions here
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
# Just do not forget to export them :)
HUDSON_HOME=/data/hudson/
CATALINA_OPTS="-DHUDSON_HOME=/data/hudson/ -Xmx512m"

Ставим Hudson (Jenkins) 2.0.0

Идем в директорию WebApps
cd /var/lib/tomcat5/webapps/
Качаем последнюю версию Hudson с сайта http://hudson-ci.org/ или Jenkins с сайта http://jenkins-ci.org/
wget http://java.net/projects/hudson/downloads/download/war/hudson-2.0.0.war
mv hudson-2.0.0.war hudson.war
Теперь создадим рабочую директорию для Hudson и дадим права на нее Tomcat'у
mkdir /data/hudson
chown tomcat.tomcat /data/hudson/
Ну и перезапустим Tomcat
 /etc/init.d/tomcat5 restart
Если все хорошо, то у Вас успешно откроется Hudson/Jenkins по адресу http://yourhost:8080/hudson/

Важное дополнение при установке на CentOS

При установке java поставится версия GCJ, которая НЕ работает с Jenkins'ом!

Чтобы в этом убедиться, вы можете выполнить команду
java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)

Эта версия не совместима в Jenkins, необходимо поставить OpenJDK версию Java. Делается это следующим образом.
yum remove java
yum install java-1.6.0-openjdk

Теперь у Вас установлена правильная версия:
java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Client VM (build 20.0-b11, mixed mode)
OpenJDK Client VM (build 20.0-b11, mixed mode)

среда, 17 октября 2012 г.

Ставим Jenkins на Gentoo

Introduction

For now this Gentoo Repository is just a copy of my local overlay/repository.

Disclaimer

You can use it on your own risk without any warranty.

Paludis

I use Paludis instead of Portage, so here is instructions for Paludis. You can read more about Paludis from official site.

Add repository

Create file /etc/paludis/repositories/godin.conf :
importance = 20
location = ${ROOT}/var/paludis/repositories/godin
sync = svn+http://godin-gentoo-repository.googlecode.com/svn/trunk/repository/
format = ebuild
names_cache = ${location}/.cache/names
write_cache = ${location}/.cache/metadata
Sync : mkdir -p /var/paludis/repositories/godin/.cache/{metadata,names}
paludis --sync x-godin

Optionally you can unmask everything from this repository by adding following line to /etc/paludis/keywords.conf :
*/*::godin ~x86

Useful stuff

Layman

Since I don't use Layman, it wasn't tested.
layman -f -o http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml -a godin
or edit your /etc/layman/layman.cfg and add new overlay list :
overlays  : http://www.gentoo.org/proj/en/overlays/layman-global.txt
            http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml
Add to sync list :
layman -S
layman -L
layman -a godin

понедельник, 8 октября 2012 г.

Ставим Jenkins на VirtualBox

A Jenkins build server (LTS release) can now be easily installed on the minimalistic Debian VM:
  1. Download and install Virtualbox
  2. Download debian-stable-amd64-minimal.ova and import it into Virtualbox
  3. Start the “debian-stable-amd64-minimal” VM in Virtualbox
  4. If you are outside Nova Scotia, please review debian-stable-amd64-minimal.txt and adjust locale, timezone and Debian mirror based on your location
  5. Start an ssh session to localhost, port 1111 (using PuTTY, for example)
  6. Log in as user (default password is “user”)
  7. Issue “sudo install.sh jenkins” (default root password is “root”)
  8. Press enter for any questions during installation
  9. Open http://localhost:8888/ in a browser on the host OS for Jenkins web ui
You can go to “Manage Jenkins” – “Configure System” and see that JDK, Ant and Maven entries are already configured for you.
Important: Make sure to change root and user passwords to something secure, as mentioned in debian-stable-amd64-minimal.txt.

пятница, 5 октября 2012 г.

[PHP] Перевод текста налету с Google.Translate

Полезная и удобная штука для перевода текста для вашего сайта.
<?php
function gtranslate($s_text, $s_lang, $d_lang){
//определяем переменную, которая содержит api url Google Translate
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".urlencode($s_text)."&langpair=".urlencode($s_lang.'|'.$d_lang);

$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_REFERER, "http://www.example.com");
$b = curl_exec($c);
curl_close($c);
$json = json_decode($b, true);
if ($json['responseStatus'] != 200)return false;
return $json['responseData']['translatedText'];
}  
?>
Использовать просто:
$text=gtranslate($text, "ru", "uk");