总结一下这两天用Jenkins自动部署Git,Maven项目时遇到的问题和解决的方法。
1,Jenkins安装
首次运行时,需要输入jenkins初始密码。查看路径:tomcat/logs/catalina.out或者/root/.jenkins/secrets/initialAdminPassword。
Jenkins访问地址:http://localhost:8080/jenkins/。
首次访问:设置用户名、密码、邮箱等和安装推荐的插件。
2,Jenkins构建自由风格的软件项目
问题主要出现在:源码管理和构建部分。错误一如图:
错误的意思主要是:通过我给的资源路径,连接不到资源,错误中jenkins连接资源的命令是:git ls-remote -h。what!我jenkins安装服务器上根本没有安装Git,它的命令怎么能执行成功呢,好吧,尝试在服务器上安装Git。
安装Git:
下载地址:https://github.com/git/git/releases
安装过程,就不说了,百度一下一大堆。记录一下新熟悉的linux的命令:
git --version:查看Git版本或者是否安装了Git
whereis git:应该是查看git可执行文件路径,同理whereis nginx
source /etc/profile:修改环境变量文件后,使其生效
Git安装后,在jenkins中:系统管理——》Global Tool Configuration——》设置Git位置——》Apply。如图:
注意:这个路径一定要写对,不让还是会报错的。这样源码管理的错误基本上解决了,我在使用的时候注意到Repository URL可以有两种形式,下面说一下SSH形式的需
要的配置:
URL形式:[email protected]
首先在linux服务器生成rsa密钥对:ssh -keygen -t rsa。生成后在/root/.ssh下会发现生成了id_rsa、id_rsa_pub文件。
cat /root/id_rsa_pub文件,拷贝后去Git托管平台(注:就是想GitHub一样的托管平台,每个公司可能不同),Profile Settings——》SSH Keys:在key中放入拷贝的公钥,Title随便起个jenkins ——》add key 即可。
回到jenkins,添加私钥帐号,如图:
然后Credentials使用刚才设置的帐号即可。
最后,说一下构建部分的错误,这部分如图:
注意需要配置Maven,否则在构建的时候执行到maven命令会报错,在jenkins中:系统管理——》Global Tool Configuration——》Maven——》Apply,如图
最后就是shell命令了,这里记录几个常用的:
rm -rf /var/build/*
cp ./target/*.war /var/build/
ssh root@localhost rm -rf /var/build/*
scp /var/build/* root@localhost:/var/build
ssh root@localhost /data/apache-tomcat-8.0.36/bin/shutdown.sh:关闭tomcat,也可以用进程supervisor管理
ssh root@localhost /data/apache-tomcat-8.0.36/bin/startup.sh
ssh root@localhost mv -f /var/build/*.war /data/apache-tomcat-8.0.36/webapps
注意这些命令有的需要免密登录,设置也挺简单,主要注意一下文件夹权限,这里就不写了。差不多就这些吧,现在的问题是,不知道为啥jenkins控制台不显示tomcat的日志,反正也不影响啦,OK。