1)在线安装jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
最新的jenkins都要求java版本在7以上,不然会启动失败。
yum remove java
yum install java-1.7.0-openjdk
3)启动jenkins
建议用supervisorctl管理linux启动项。
yum install python-setuptools
easy_install supervisor
supervisor的配置文件/etc/supervisord.conf如下:
[unix_http_server]
file = /var/run/supervisord_mongo.sock
chmod = 0777
chown= root:root
[inet_http_server]
# Web管理界面设定
port=127.0.0.1:9003
username = qlog
password = qlog
[supervisorctl]
; 必须和'unix_http_server'里面的设定匹配
serverurl = unix:///var/run/supervisord_mongo.sock
[supervisord]
logfile=/data/logs/supervisord_waterfall.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord_waterfall.pid ; (supervisord pidfile;default supervisord.pid)
#nodaemon=true ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)
user=root ; (default is current user, required if root)
childlogdir=/var/log/supervisord/ ; ('AUTO' child log dir, default $TEMP)
identifier = supervisor
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[include]
files = /usr/local/apps/supervisor/*.conf
在/user/local/apps/supervisor/目录下的*.conf文件可以配置为
[program:jenkins]
command=java -jar /usr/lib/jenkins/jenkins.war —httpPort=9100
directory=/root/
autostart = true
startsecs = 5
stopsignal=TERM
autorestart=true
numprocs=1
user = root
redirect_stderr = true
stdout_logfile = /data/logs/jenkins.log
启动supervisorctl即可启动其配置管理的cmd,如果启动失败可以看报错信息,一般情况下是要建立一些文件夹目录。
supervisord -c /etc/supervisord.conf
4)jenkins配置
jenkins启动成功后,直接在浏览器中就能打开对应的端口(如http://x.x.x.x:9100)进行配置。
第一步是更新各种插件,比如git/github插件。
第二步是安装修改一些系统环境,比如maven/nodejs等。
第三步可能需要配置你的github账户,这里注意jenkins里面需要的是你账户名与私钥,并非ssh key的公钥。
第四步是建立一个job任务,配置github源,以及你需要编译的步骤脚本等,如下grunt编译操作:
#!/usr/bin/env bash
# kill jinx drive
ID=`ps -ef | grep 'grunt' | awk '{print $2}'`
for id in $ID
do
echo "kill process $id"
kill -9 $id
done
cd /root/.jenkins/jobs/nimble/workspace
echo "bower install -allow-root"
bower install -allow-root
echo "npm install"
npm install
echo "grunt build"
grunt build
echo "grunt serve:dist >> /root/.jenkins/jobs/nimble/workspace/nimbleRun.log 2>&1 &"
nohup grunt serve:dist >> /root/.jenkins/jobs/nimble/workspace/nimbleRun.log 2>&1 &
第五步自然就是查看jenkins编译输出,排查各种问题了。
5)总结
jenkins是个非常轻量级的持续集成开源软件,各种插件也非常好用,特别是和git/githut的无缝链接,极大地解放了系统集成的生产力。