- 准备工作 CentOS Jenkins Maven GIT Java 1.8
jdk 下载解压 tar xzvf xxx.xxx maven 下载解压 tar xzvf xxx.xxx
git 密钥配置 ssh-keygen -t rsa -C "" ssh git clone :i/i.git
- 安装Jenkins 2.1 安装 sudo wget -O /etc/yum.repos.d/jenkins.repo sudo rpm --import sudo yum install jenkins
2.2 启动或停止 sudo service jenkins start/stop/restart sudo chkconfig jenkins on
2.3 开启防火墙端口 firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload 默认端口为8080,可以在配置文件中修改 firewall-cmd --zone=public --add-port=8080/tcp --permanent systemctl restart firewalld //可能被占用 kill -9 $(lsof -i tcp:8080 -t) //重启 sudo service jenkins restart sudo chkconfig jenkins on //密码设为 xxxxxx vim /etc/sysconfig/jenkins 8080端口可能是git正在使用的端口 改成8866
firewall-cmd --zone=public --add-port=8866/tcp --permanent systemctl restart firewalld3.3 配置环境变量 配置环境 vi /etc/profile
export JAVA_HOME=/xxx/xxx/jdk/jdk1.8.0 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH:/usr/local/redis/bin:/usr/local/git/bin
source /etc/profile
注意 maven无需配置 Please remove M2_HOME as environment variable, it is already set by the mvn script. The only things you need to do is: add apache-maven-3.x.x/bin to your path, set JAVA_HOME as environment variable. So no need to add %JAVA_HOME%/bin to your path export MAVEN_HOME=/usr/local/apache-maven
Jenkins 通过shell脚本调用mvn 命令的时候,是从/usr/bin 文件夹中找命令的,这个时候需要做个软链接
ln –s /usr/local/apache-maven/bin/mvn /usr/bin/mvn
- 配置Jenkins 4.1 访问地址
//在jenkins中配置 maven git jdk路径 /usr/local/apache-maven /usr/local/git/bin /xxx/tool/jdk/jdk1.8.0_172
修改jenkins权限
- vim /etc/sysconfig/jenkins
- 找到$JENKINS_USER改为 “root”: $JENKINS_USER="root" 3)然后更改Jenkins home,webroot和日志的所有权:
chown -R root:root /var/lib/jenkins chown -R root:root /var/cache/jenkins chown -R root:root /var/log/jenkins 4).重新启动Jenkins并检查用户是否已被更改
service jenkins restart
自动配置curl命令脚本 保存生sh 并执行
#!/bin/sh
tmp_dir='./tmp_install'
yum install -y pcre libxml2 git autoconf automake libtool perl*
install lib
if [ ! -d $tmp_dir ] then mkdir $tmp_dir fi
cd $tmp_dir
if [ ! -d 'curl' ] then git clone fi
if [ find / -name libcurl.so | wc -l
-lt 1 ] then echo "try to install curl" cd curl ./buildconf ./configure make && make install cd .. echo "install curl finish" else echo "curl already install" fi
echo "all installed finish."
cd ..
//更新代码 并maven install cd /home/tool/git/transcode/intellPrk git pull origin master
第一次运行: cd /home/tool/git/transcode/intellPrk/common-parent mvn clean install -Dmaven.test.skip=true
cd /root/.m2/repository/alipay/alipay-sdk-java/1.0 mvn install:install-file -DgroupId=alipay -DartifactId=alipay-sdk-java -Dversion=1.0 -Dpackaging=jar -Dfile=alipay-sdk-java-1.0.jar
mvn update
alipay\alipay-sdk-java\1.0 这边的jar服务器可能下载不到 需要手动添加 目录在/root/.m2/repository/alipay/alipay-sdk-java/1.0 先上传alipay-sdk-java-1.0.jar 到home目录 执行 上面语句后删除
cd /xxx/git/transcode/xxx pwd mvn clean install -Dmaven.test.skip=true
后面直接: cd /xxx git pull origin master mvn clean install -Dmaven.test.skip=true
拷贝 #!/bin/bash work_path=/xxx/tool/git/transcode/xxx jar_path=/xxx/tool/git/transcode/jar cd $jar_path rm -rf $jar_path/basedata-service.jar cp $work_path/basedata-service/target/basedata-service.jar $jar_path/basedata-service.jar
如果报错执行 yum install dos2unix dos2unix 脚本
cd /xxx/tool/git/transcode sh cpToJar.sh
以上方法jenkin无法正常使用mvn命令
最后下载maven插件到jenkins 使用maven方式构建成功