Jenkins自动发布Git,Maven项目
2017-05-26 09:27
435 查看
总结一下这两天用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形式:git@.........git
首先在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。
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形式:git@.........git
首先在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。
相关文章推荐
- jenkins+svn+maven自动发布平台项目案例
- jenkins 配置git+Maven自动构建发布
- 使用Jenkins自动编译我的 java 项目 git maven jenkins
- 持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署
- 持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署
- maven项目自动git打包发布重启Tomcat
- Jenkins+GIT+Maven+Shell 实现项目一键发布
- Jenkins+github+maven自动构建发布SpringBoot项目
- windows环境下使用jenkins自动部署发布项目(eclipse + svn + maven + tomcat + jenkins),注意是windows环境
- git+maven+nexus实现测试机自动发布项目
- 基于git maven jenkins的自动构建发布系统三
- 自动化发布项目之jenkins + git + maven 自动化部署一个web项目
- git+maven+jenkins 自动发布环境搭建
- 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)
- jenkins+maven+git配置以及远程发布war包详细过程
- 持续集成框架,自动部署服务搭建jenkins+maven+svn(git)+shell
- Maven 集成Tomcat插件自动发布项目到tomcat的webapps目录下
- Jenkins+Git+PHP生成构建PHP项目的changelog以用于生成增量或减量打包发布
- jenkins通过svn发布maven项目
- Eclipse中将现有的maven项目 导入Git,并发布到github