2013年3月26日星期二

jenkins使用git和sbt构建工程

简介

Jenkins, 以前叫做Hudson,是一款基于java的持续集成工具。

安装

安装非常简单,以RHEL6.x为例,直接下载jenkins的rpm安装文件,直接安装即可。
wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-1.480.3-1.1.noarch.rpm
rpm -ivh jenkins-1.480.3-1.1.noarch.rpm
service jenkins start
jenkins的配置文件在/etc/sysconfig/jenkins,可以从/etc/init.d/jenkins中读取到。这个配置文件可以修改jenkins的端口等配置信息。

集成git

首先在系统管理-》插件管理中安装git插件。
测试使用的git管理平台是gitlab。首先生成公钥文件,将公钥私钥都拷贝到目录/var/lib/jenkins/.ssh。并在gitlab中上传公钥。然后执行:
sudo -u jenkins git ls-remote -h git@10.10.139.177:root/tongji-app.git HEAD
确保可以通过ssh key进行安全访问。
然后在系统管理-》系统设置中配置git

集成sbt

首先在系统管理-》插件管理中安装sbt插件。
然后在系统管理-》系统设置中配置sbt。

配置一个任务

新建一个job,在版本工具处选择git,并填写git的repository地址,git@xx.xx.xx.xx:ab.git
在sbt处配置sbt,并设置sbt任务,最后设置发布的shell脚本。
此处的sudo可能会报错,大概意思是jenkins这个用户没有sudo的权限。
编辑/etc/sudoers,增加jenkins的sudo执行权限:
jenkins    ALL = NOPASSWD: /opt/sh/release_jetty.sh

然后点击保存,选择左侧的构建项目。可以在构建项目的时候查看日志,这时发现jenkins做了几件事情:
1. 克隆或更新git repository代码;
2. 执行sbt package
3. 以root权限执行release_jetty.sh脚本
此时,发现服务器中的web服务已经启动成功。

没有评论:

发表评论