jenkins持续集成之java发布
1.将项目推送到gitlab
2.使用jenkins新建一个任务
流水线模式和freestyle都可
如上图,填入3个关键信息
3.脚本的修改
注意点
jenkins的工作空间为:/var/lib/jenkins/workspace
每当从gitlab上拉取一个项目,/var/lib/jenkins/workspace路径下就会出现一个与gitlab上的任务同名的目录,(默认是同名,也可以使用流水线脚本修改)
php项目的发布
1.如果是php项目,需要安装php-fpm(作为php的运行环境),并使用如下命令安装并启动
yum install epel-release -y,设置源
yum install nginx php-fpm
systemctl start php-fpm
2.如果要连接数据库,除了安装mysql(或其他)以外,还需要安装一个mysql扩展
yum install php-mysql -y
连接数据库需要在项目的数据库配置文件中修改相关信息,主要是数据库的用户名和密码等
修改之后,php发布时会自动连接数据库
还有一点,注意要先启动数据库才能连接,如果mysql在docker中,
使用docker ps -a查看容器ID,然后使用docker start ID(mysql),启动mysql
3.发布php项目还需要一个web服务,如安装nginx,
安装nginx之后需要修改nginx的配置文件
vi /etc/nginx/nginx.conf
进入并修改nginx配置文件,主要修改nginx的端口号和nginx的发布路径
nginx的默认发布路径为:/usr/share/nginx/html
配置好nginx之后重启nginx:systemctl restart nginx
java项目的发布
1.java项目需要Maven将项目转换为war/jar包,才能发布
所以要安装JDK+Maven
Maven是用来下载各种java资源将java项目编译为war/jar包的,所以有时候来了加快下载速度,会修改Maven的配置文件,将镜像改为国内的网站
上图用的阿里云
验证Maven的存在可以使用命令:mvn -v
Maven主要是将src目录转换为target目录,src和target都在jenkins工作空间中
Maven将java项目转换为war/jar包的命令为:mvn clean package
使用该命令前注意先进入到java项目中,也就是pom.xml文件所在的目录下
最终的war/jar包是在target目录下
2.安装配置tomcat(web服务)
vi /opt/tomcat/conf/server.xml进入tomcat配置文件
主要修改端口号及发布路径
tomcat发布路径默认为:/opt/tomcat/webapps(前面的opt是我安装时建立的一个目录)
安装配置好之后使用命令:
/opt/tomcat/bin/startup.sh,启动tomcat
要验证是否启动成功可以上游览器查看
Maven编译好的war/jar包最终是交给tomcat发布的
3.在jenkins上安装插件Deploy to container
jenkins要将war/jar包交给tomcat,需要下载这个插件才行
流水线模式
该模式下就是写一个脚本完成发布,脚本里面包含了jenkins拉取完项目之后的各种操作
Freestyle模式
该模式下就是通过jenkins设置各种配置来完成发布,包括远程仓库的连接,凭据的输入,构建过程,构建之后的操作等等
jenkins发布总结
1.设置远程仓库地址及凭据
2.安装项目运行所依赖的各种环境(php-fpm,mysql,maven等)
3.安装发布项目所对应的web服务(nginx,tomcat等)
4.将项目交给web服务来发布
nginx中是使用命令直接将jenkins中的项目复制到nginx中即可
tomcat中需要先在jenkins中下载一个Deploy to container插件,才能将项目交给tomcat(并没有将项目复制到tomcat)