Jenkins安装配置
官方网站:
演示环境:CentOS6 x64
方式一:YUM安装
- sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
- sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
- sudo yum install jenkins
- sudo yum -y install java
- sudo service jenkins start/stop/restart
- sudo chkconfig jenkins on
方式二:
Jakarta Tomcat Java Servlets and JSP server
一.安装tomcat
二.安装jenkins
1.创建jenkins用户
useradd -d /opt/jenkins -s /sbin/nologin jenkins
2.创建并修改init脚本
根据自己实际环境修改相关变量(tomcat,jdk,jenkins安装目录等)
vim /etc/init.d/jenkins
chmod 755 /etc/init.d/jenkins
3.给予jenkins用户相应目录相关权限
setfacl -R -m u:jenkins:rwx /opt/tomcat
setfacl -R -m d:u:jenkins:rwx /opt/tomcat
mkdir -p /opt/jenkins/jenkins-home
chown -R jenkins:
/opt/jenkins/
注意:权限很重要, 可能后面启jenkins的时候会启不来, 报没有权限的错
4.启动tomcat
service jenkins start
chkconfig jenkins on
5.部署jenkins.war
默认情况下,通过tomcat manager入口部署jenkins.war会失败, tail -f /opt/tomcat/logs/catalina.out可以看到详细的报错信息, 是说上传文件超过了定义的最大值
sed -i '55,56 s/52428800/65000000/g' /opt/tomcat/wwwapps/manager/WEB-INF/web.xml
6.重启jenkins(tomcat)后再次部署
三.Jenkins预览
方式三:JAVA
java -jar jenkins.war
这种方式最简单明了,不依赖其它服务,默认监听8080端口, 可以借用systemd来管控
Linux service - systemd
This is another way to start Jenkins as Linux service, also on system startup. I tested it on Fedora distribution, but it should work with other too. It needs some minimal experience with Linux superuser (sudo) and preferably basic Vi commands. http://www.freedesktop.org/software/systemd/man/systemd.service.html
1.创建jenkins用户
useradd -d /opt/jenkins -s /sbin/nologin jenkins
2.下载jenkins
wget
http://mirrors.jenkins-ci.org/war/latest/jenkins.war -O /opt/jenkins/jenkins.war
3.创建.service文件
cat >/usr/lib/systemd/system/jenkins.service <<HERE
[Unit]
Description=Jenkins Daemon
[Service]
ExecStart=/usr/bin/java -jar /opt/jenkins/jenkins.war
User=jenkins
[Install]
WantedBy=multi-user.target
HERE
相关路径请据实际系统为准
4.启服务
systemctl start jenkins
systemctl enable jenkins
方式四:
Java Service Wrapper
1.创建jenkins用户
useradd jenkins
2.下载对应平台的Wrapper
3.把Wrapper解压到/home/jenkins
tar -xvf wrapper-linux-x86-64-3.5.27.tar.gz
mv wrapper-linux-x86-64-3.5.27/* /home/jenkins/
4.copy jenkins.war到/home/jenkins/lib/
cp jenkins.war /home/jenkins/lib
5.创建JSW临时目录
mkdir /home/jenkins/tmp
6.配置wrapper
cp /home/jenkins/src/conf/wrapper.conf.in /home/jenkins/conf/wrapper.conf
修改如下配置
wrapper.java.classpath.1=../lib/jenkins.war wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.additional.1=-DJENKINS_HOME=../data
wrapper.java.additional.2=-Djava.io.tmpdir=../tmp
wrapper.java.additional.3=-server
# Set directly the time zone of the JVM, by setting this we do not rely on the time zone of the server.
# Uncomment the following line if needed.
# wrapper.java.additional.4=-Duser.timezone=America/Los_Angeles wrapper.app.parameter.1=Main
wrapper.app.parameter.2=--httpPort=8070
wrapper.ping.timeout=300
wrapper.jvm_exit.timeout=60
wrapper.console.title=Jenkins Continuous build server
7.测试
/home/jenkins/bin/testwrapper console
cp
/home/jenkins/src/bin/sh.script.in
/etc/init.d/jenkins
chmod 755 /etc/init.d/jenkins
修改如下几行
APP_NAME="Jenkins"
APP_LONG_NAME="Jenkins Continuous build server" WRAPPER_CMD="/home/jenkins/bin/wrapper"
WRAPPER_CONF="/home/jenkins/conf/wrapper.conf"
PIDDIR="/home/jenkins/bin"
RUN_AS_USER=jenkins
可以静默修改
sed -i '/APP_NAME=/c APP_NAME="Jenkins"' /etc/init.d/jenkins
sed -i '/APP_LONG_NAME=/c APP_LONG_NAME="Jenkins Continuous build server"' /etc/init.d/jenkins
sed -i '/
WRAPPER_CMD=
/c
WRAPPER_CMD="/home/jenkins/bin/wrapper"
' /etc/init.d/jenkins
sed -i '/
WRAPPER_CONF=
/c
WRAPPER_CONF="/home/jenkins/conf/wrapper.conf"
' /etc/init.d/jenkins
sed -i '/
PIDDIR=
/c
PIDDIR="/home/jenkins/bin"
' /etc/init.d/jenkins
sed -i '/
RUN_AS_USER=
/c
RUN_AS_USER=jenkins
' /etc/init.d/jenkins
补充:
备份重要的配置和目录即可,如下
config.xml #全局配置文件
credentials.xml #认证凭据
hudson.tasks.Maven.xml #maven别名
org.jenkinsci.plugins.emailext_template.ExtendedEmailTemplatePublisher.xml #emailext插件配置
plugins #插件安装目录
jobs #构建的项目