应用背景
部署过程的每一个步骤都自动化,可以带来包括效能在内的显著的好处。你可以手工做这些事情,但是很耗时。二者的生产率差异真的很大。一般目前部署过程涉及到应用、环境和部署流程主要的模型。要实现自动化首先要做的是将需要部署的应用、环境和流程进行建模,所以还是需要一个自动化部署系统来支撑。
环境及版本
- 服务器CentOS6 两台
- 最新的jenkins.war包 下载链接
遇到的问题记录
- 启动的服务一直出现异常不中断最后超时的情况
解决方案:nohup java -jar demo.jar > /dev/null 2>&1 &
其中> /dev/null 2>&1 &
顺序一定不要搞反了 - 升级组件及版本前一定要将jenkinsHome备份,防止升级导致的项目不可用。
- 万一出现升级后项目不可以,可看jenkins提示的回滚或纠错信息手动现在插件安装
安装jenkins
启动脚本 jenkins.sh
#! /bin/sh
# chkconfig: 2345 10 90
# description: jenkins ....
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
#prefix=/home/lanmps/jenkins
#nohup $prefix/start_jenkins.sh >> $prefix/jenkins.log 2>&1 &
# changjiabo@juneyaoair.com
JENKINSFILENAME=jenkins.war
JENKINS_ROOT=/opt/jenkins
PORT=8888
export JAVA_HOME=/opt/modules/java/jdk1.8.0_131
export JRE_HOME=/opt/modules/java/jdk1.8.0_131/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar:$JRE_HOME/lib
stop(){
echo "Stoping $JENKINSFILENAME "
netstat -nlp | grep :$PORT | awk '{print $7}' | awk -F"/" '{ print $1 }'|while read pid
do
kill -9 $pid
echo " $pid kill"
done
}
start(){
echo "Starting $JENKINSFILENAME "
nohup $JENKINS_ROOT/start_jenkins.sh >> $JENKINS_ROOT/jenkins.log 2>&1 &
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
ps -ef|grep $JENKINSFILENAME
;;
*)
printf 'Usage: %s {start|stop|restart|status}\n' "$prog"
exit 1
;;
esac
start_jenkins.sh
#!/bin/bash
#changjiabo@juneyaoair.com
JENKINS_ROOT=/opt/jenkins
export JENKINS_HOME=$JENKINS_ROOT/home
export LANG=en_US.UTF-8
export PYTHONIOENCODING=UTF8
java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar $JENKINS_ROOT/jenkins.war --httpPort=8888
其中JENKINS_ROOT是你自己空间的路径
注意:如果使用service jenkins start命令启动报错:java: command not found,那么java -jar命令就写绝对路径,比如:/usr/java/jdk1.8.0_25/bin/java -jar
将启动脚本设置成服务和开机自启
ln -s /home/lanmps/jenkins/jenkins.sh /etc/init.d/jenkins
chkconfig --add jenkins
chkconfig --level 345 jenkins on
启动方式
1、/etc/init.d/jenkins start
2、service jenkins start
启动jenkins
- 启动后可进行初始化 ,密码一般在日志文件里
- 插件安装
这一步可能由于服务器链接不上网络,可配置代理或者手动安装,当然想省事的兄弟推荐自动的。 - 安装完成后,将进入设置用户页面。填写完信息之后点“Save and Next”。
- 点击“Save and Finish”,并完成安装。
- 使用界面
出装的jenkins 默认插件缺少一部分 无法创建maven项目
下面是插件截图
比较实用的是 git插件 maven插件 中文插件 git参数插件 权限插件
!
jenkins系统配置
服务器段安装好maven 、jkd 、 docker等等
创建一个maven的项目
部分图片来源网络,我懒得截图了,反正都差不多