您的位置:首页 > 运维架构 > Linux

centos下部署jenkins持续集成环境

2016-02-12 23:01 716 查看
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


2)java7问题
最新的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的无缝链接,极大地解放了系统集成的生产力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: