jenkins+gitlab发布maven项目

1.简介:什么是Maven

Maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架;

开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期;主要服务于JAVA平台的构建、依赖管理、项目管理.

wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar xf apache-maven-3.3.9-bin.tar.gz
# 配置环境变量
vim /etc/profile
export PATH=$PATH:/data/apache-maven-3.3.9/bin

mvn -v 查看maven、java的所有信息

这张图说明了jdk的路径

到全局工具中配置jdk路径

到全局工具中配置maven路径

2.什么是POM、常用MAVEN命令

Project Object Model,项目对象模型,通过xml格式保存的pom.xml文件,作用类似ant的build.xml文件,功能更强大.

该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等.

a.创建Maven的普通java项目:
mvn archetype:create 
    -DgroupId=packageName 
    -DartifactId=projectName 
b.创建Maven的Web项目:
mvn archetype:create 
    -DgroupId=packageName    
    -DartifactId=webappName 
    -DarchetypeArtifactId=maven-archetype-webapp    
c.清除后再编译   
mvn clean install 

settings.xml 是maven的主要配置文件;
位置:$home/.m2用户仓库,$home就是/var/lib/jenkins用户存储库;

3.gitlab上创建java库

# 在gitlab上创建一个项目--java,根据下面的命令行指令,在jenkins服务器上进行操作
# 地址:[email protected]:Linkdood-yw/java.git
git config --global user.name "root"
git config --global user.email "[email protected]"
cd /home
git clone [email protected]:Linkdood-yw/java.git
cd /home/java
git remote -v
origin	[email protected]:Linkdood-yw/java.git (fetch)
origin	[email protected]:Linkdood-yw/java.git (push)
# 这里的java2目录下的文件来自老男孩架构师班14期视频内容,给他打一波广告
cp -arf /root/java2/* .
git add .
git commit -m "commit pom.xml"
git push -u origin master

4.新建maven项目

a.新建maven项目

如果此处没有"构建一个maven项目"的选项,需要安装插件:Maven Integration

b.指定源码位置

c.指定build选项

d.立即构建

构建的过程中,可能会出现插件下载失败,需要更改maven的插件源,编辑/data/apache-maven-3.3.9/conf/settings.xml

我这里是一次性成功的,第一次构建需要下载很多插件,大概需要十分钟

可以在/var/lib/jenkins/workspace/java-maven/下可以看到拉取的代码,找到整个项目的的jar包并执行

5.构建完成后执行shell

a.指定execute shell

b.执行结果

总结:

  服务器上的jenkins是以普通用户运行的,这里的shell能够执行成功,是因为这是在jenkins家目录下执行的命令,并且文件的属主、数组都是jenkins;

  网上大多数博客都是用root用户运行jenkins,并把jenkins的家目录里的所有文件属主、属组都改为root,这并不是jenkins这个软件的初衷,也不符合linux运行软件的安全标准,用Publish over SSH这个插件或者是某个任务中,源码管理的Git--Repositories--Credentials为空的,用的都是服务器上root的公钥.

  以普通用户运行jenkins,在远程部署及执行命令时,会报Host key verification failed这个错,下篇博客将解决这个问题.

参考博客-IT_外卖小哥:https://yq.aliyun.com/articles/485308

猜你喜欢

转载自www.cnblogs.com/fawaikuangtu123/p/10316086.html