一步步搭建jenkins持续集成平台

【持续集成相关工具集】:php

CI-Server(Jenkins/Hudson.....)html

代码管理工具(SVN/git...)
java

java框架(maven)python

覆盖率工具(c++:gcov  java:maven cobertura插件)mysql

静态扫描插件(jenkins插件)linux

覆盖率报表合并工具c++

jenkins二次开发apigit

apache +php +codeiginter 配置web

mysql +python 用来管理数据库sql

python-dev 下载连接

........... 笔者未来会专门在持续集成板块介绍相关的工具集合


【安装Jenkins配置启动】: 

  apache-tomcat-6.0.37-src.tar.gz + jenkins.1.556.war 本身搜索下吧

  tomcat/bin下所有chmod +x ./*

  把jenkins.war 拷贝到 tomcat/webapps下

  启动tomcat/bin 下startup.sh 查看8080端口是否启动

  浏览吧: http://192.168.1.xxx:8080/jenkins  

  若想从局域网别的机器访问,则修改tomcatxxx/cong/server.xml 

 Host name="xxx.xxx.xxx.xxx"

 Engin name="xxx.xxx.xxx.xxx"

 同时设置防火墙 (局域网其余机器打不开时能够试试)

 iptables -I INPUT -p tcp --dport 8080 -J ACCEPT

 iptables -I OUTPUT -p tcp --dport 8080 -J ACCEPT

【jenkins重启】

 cd tomcat/bin/

 catalina.sh stop

 kill pid(java)

 catalina.sh bin

【增长Slave节点】

1.salve初始化账号(例:主10.129.145.112 新Slave:10.209.23.90)

useradd jenkins -m -d /data/home/jenkins #建立jenkins账号

2.拷贝jenkin主server上的slave.jar包 /usr/local/tomcat/webapps/jenkins/WEB-INF/slave.jar 到新slave的 /data/home/jenkins/slave.jar

3.配置:

1).系统管理->节点管理->新建节点 10.129.145.112:8081/jenkins/computer/new

2).节点名称:slave_10.209.23.90

3).选择DumbSlave

4).必填:

Name:slave_10.209.23.90

Description:描述一下机器类型如:64位tlinux(rh)系统

ofexecutor:4 [4核机器]

Remote FS Root:/data/home/jenkins [以前建立好的jenkins账号主目录]

Lables:10.209.23.90 [标签,填ip,建立项目时要指定在某台机器上执行]

用法:只容许运行绑定到这台机器上的Job

Lanuch Method:Lanuch slave agents on unix machines via SSH

高级:

Host:10.209.23.90 [再填一次slave的ip]

Username:jenkins [Slave的jenkins账号]

Password:xxxxxxx [Slave的jenkins密码]

Port:36000

JavaPath:/usr/xxxxx/bin/java [java实际的可执行路径 which java]

其余不动,保存


【maven环境配置】

maven理解:参考连接

maven是一套java项目管理工具,使用依赖库有两种状况:

a) 有外网:不解释

b) 无外网:有搭好的私服(http://10.128.36.xx:8080/nexus/index.html#welcome)

须要在mvn的conf目录下修改setting.xml

<server>   <!--【这两个放在servers下】-->
    <id>tdwmirror</id>
    <privateKey>deployment</privateKey>
    <passphrase>deployment</passphrase>
</server>

<server>
    <id>tdwmirror-snapshots</id>
    <username>deployment</username>                   
    <password>deployment</password>
</server>

<mirror>    <!--【这个放在mirrors下】-->
    <id>tdwmirror</id>
    <mirrorOf>central</mirrorOf>
    <name>tdw mirror</name>
    <url>http://10.128.36.xx:8080/nexus/content/groups/public</url>
</mirror>

【问题汇总】

  1.  在系统设置中提示:Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers  and Tomcat i18n for more details. 或者,在新建项目时,设置Repository URL若是还有中文,会提示错误。 能够在 Tomcat 的服务器配置文件中添加 URIEncoding 属性。

    解决:修改 $TOMCAT_HOME/conf/server.xml  => <Connector port="8080" URIEncoding="UTF-8"/>

  2. tomcat启动不了

    解决:检查java版本,tomcat版本 apache-tomcat-7.0.52 笔者直接下载的

    jdk的版本(连接):javac 1.6.0_16  java version "1.6.0_16"

    Java(TM) SE Runtime Environment (build 1.6.0_16-b01)

    Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)

    tomcat版本(连接)apache-tomcat-7.0.52

  3. jenkins主目录被指定到了/root/.jenkins  如何修改

    解决:$TOMCAT_HOME/bin/catalina.sh 在 echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR" 下添加

    export CATALINA_OPTS="$CATALINA_OPTS -DJENKINS_HOME=/data/home/jenkins"

  4. jenkins服务忽然没了。看最后一次构建输出:FATAL:PermGen space

    解决:$TOMCAT_HOME/bin/catalina.sh 在 echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR" 下添加

    JAVA_OPTS="-server -XX:PermSize=128M -XX:MaxPermSize=512M" 

  5. WARNING: Could not intialize the host network interface on nullbecause

    解决:kill 全部jenkins相关的java进程,而后重启tomcat startup.sh 参考连接

  6. 权限问题:hudson.security.AccessDeniedException2: anonymous is missing the Administer


        解决:有意识的避免安装启用权限后无法用,但仍是掉坑里了,毕竟装jenkins不是常常性的,这里再次作记录。要           修改config.xml 这个配置文件是jenkins的,在JENKINS_HOME 目录下, <useSecurity>false</useSecurity>


        配置好了启动后先作两件事: a) 访问控制->安全域->Jenkins专有用户数据库->容许用户注册

         b) 访问控制->受权策略->安全矩阵->添加用户/组(如peterguo)->赋予peterguo和匿名用户全部权限。


【Maven 私服】

 nexus: http://blog.csdn.net/xuke6677/article/details/8482472

【SVN 配置使用-个人示例】

step1:安装略

step2:建立仓库

mkdir /windows/C/svnroot

svnadmin create svnroot/svndata 

step3:配置仓库

vi conf/[svnserver.con|passwd|authz] .... 网上不少

step4:导入库文件

svn import /home/peterguo/workspace/svn_test -m "create svn_test" file:///windows/C/svnroot/svndatat

step5:启动svn服务(指定服务目录)

svnserve -d --listen-host 192.168.1.104 -r /windows/C/svnroot/

step6:使用svn客户端签出代码

svn co svn://192.168.1.104/svndata    

SVN FAQ:http://subversion.apache.org/faq.zh.html

【Apache服务】

 若是局域网别的机器不能访问:找到httpd.conf 找到 listen 80 :

 修改 Allow from all

 修改 listen 80 -> listen 192.168.1.xxx:80

 service apache2 restart 

 用netstat -nlpt | grep 80 查看

 iptables -I INPUT -p tcp --dport 80 -j ACCEPT

 iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT


[reboot all]

service apache2 start
cd /usr/share/tomcat6/bin; sh catalina.sh start
svnserve -d --listen-host 192.168.1.104 -r /windows/C/svnroot/
service mysql start
ifconfig eth0 192.168.1.104 netmask 255.255.255.0

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 

iptables -I INPUT -p tcp --dport 80 -j ACCEPT


【二次开发】

必备:MySQLdb、jenkinsAPI 、php、fushionchart、python、codeigniter ....

安装环境时必然出现不少问题,谷歌就是你的帮手,建议安装MySQLdb使用rpm包  去这里找rpm包 连接

----------------------------------------------待续------------------------------------


权限管理(不一样的用户对不一样的项目具备不一样的权限)连接

相关文章
相关标签/搜索