如何用Jenkins在Linux上搭建部署环境
下载
mkdir soft
cd /soft
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.7.4-1.1.noarch.rpm
安装
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
检查
rpm -ql jenkins
java
后台启动
首先linux服务器端开放指定访问端口,如:1111
执行:nohup java -jar /usr/lib/jenkins/jenkins.war --httpPort=1111 &
如果需要一直保持运行可使用nohup,出现以下情况请安装:yum install coreutils
查看启动是否正常:浏览器访问http://+ip+端口号
其中/root/.jenkins/secrets/initialAdminPassword 这部分为默认密码,进入Linux此目录下取出密码
cat /root/.jenkins/secrets/initialAdminPassword
然后复制这段密码(以下为中文翻译说明),粘贴密码点击继续即可。
然后选择常规安装
此时等待安装即可
后台管理
创建管理员:上步骤完成后
出现这个表示jenkins已安装成功!
点击开始则进入jenkins后台。
下次登录,则在次页面输入账号密码即可:
操作-插件安装
第四步中默认安装了系统推荐的插件,此处有需要可自行安装
示例:
点击直接安装,则会进入安装状态页,等待安装完成即可(安装失败请尝试重新安装)
基础设置
a配置全局安全性,防止默认用户可使用所有配置
在授权策略中选择安全矩阵,添加用户组,如admin用户,然后授予指定权限(这里我给定所有权限),然后点击左下角的保存。
b管理用户
创建一个新用户,然后用户列表会出现这个新用户,下一步需要给该用户授权。
同样如设置admin权限一样,这里去除除超级管理员权限以外的权限(此用户登录后无法操作系统管理项操作)。
主机连接及服务器配置
系统管理->节点管理->新建节点:
添加用户名和密码(lLinux的)
然后选择添加的这组密码
选择左下角的save后,节点列表会多出刚才添加的记录
下一步:验证尝试连接该linux主机,启动从节点验证linux服务器已经成功注册到jenkins上。点击该节点并点击launch agent按钮启动。
(如有失败建议优先考虑回到主页看jenkins是否需要升级,有则升级到高版本再看是否成功,无则百度等搜索排查下异常)
成功后如下:
创建节点任务(测试)
主页->创建新任务
选择刚才的那个主机,表示仅可在此主机构建。
接着选择
示例如输入检查ip信息
确定后点击立即构建,等待完成,如:
结果:
此时代表已完成基本测试及构建。
web部署(自动化部署)
git同步最新代码:(确保linux服务器安装了git,安装命令:yum install git)
git安装及初始化
.pub为公钥。(要保证源代码可以被下载,保铮linux和github之间的联通)
查看此公钥并自行复制粘贴到github上添加为新公钥。
回到linux验证:如ssh git@e.coding.net并输入yes进行认证。
maven打包说明:
mvn –version查看maven安装信息(没有安装的自行安装以下)
cd /var/local/apache-maven-3.5.2
部署应用:
填写要拉取代码的位置
选择执行shell
输入以下命令
BUILD_ID=DONTKILLME
. /etc/profile
#配置运行参数
export PROJ_PATH=`pwd`
export TOMCAT_APP_PATH=/home/tomcat/apache-tomcat-8.5.8
sh $PROJ_PATH/zghy/src/zghy/deploy-test.sh
附deploy.sh(可自行修改)
#!/usr/bin/env bash
#编译+部署 test
#需要配置的参数
# 项目路径,在execute Shell中配置项目路径,pwd就可以获得该项目路径
# export PROJ_PATH=这个jenkins任务在部署机器上的路径
# 输入你得环境上tomcat的全路径
# export TOMCAT_APP_PATH=tomcat在部署机器上的路径
### base 函数
killTomcat()
{
pid=`ps -ef|grep tomcat-8.5.8|grep
java|awk '{print $2}'`
echo "tomcat Id list :$pid"
if ["$pid" = "" ]
then
echo "no tomcat pid alive"
else kill -9 $pid
fi
}
cd $PROJ_PATH/zghy/src/zghy
mvn clean install -Ptest
# 停tomcat
killTomcat
# 删除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -rf $TOMCAT_APP_PATH/webapps/zghy-framework
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/zghy-framework.war
# 复制新的工程
cp $PROJ_PATH/zghy/src/zghy/zghy-framework/target/zghy-framework.war
$TOMCAT_APP_PATH/webapps/
cd $TOMCAT_APP_PATH/webapps/
# 重命名
mv zghy-framework.war ROOT.war
# 启动tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh
完毕
jenkins启动(nohup和这个选其中一种即可)
#service jenkins start
重启
#service jenkins restart
停止
#service jenkins stop
修改jenkins端口:
vi /etc/sysconfig/jenkins
改为自己需要的端口