当前位置:首页 » 编程软件 » jenkins编译

jenkins编译

发布时间: 2023-09-19 15:34:11

1. java Maven打包总结(Jenkins多模块编译部署)

原文地址: Java Maven打包总结(Jenkins多模块编译部署)

依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

依次执行了clean、resources、compile、testResources、testCompile、test、jar(打物液包)、install等8个阶段。
完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库

依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

可以看森和到主要区别在把生成的jar包最终存放的位置, package只管打包; install把打好的包放到了本地maven仓库;deploy是同时放到本地仓库和远程maven私服

这里本地仓库默认是 /root/.m2/repository/ ,具体配置在 ${M2_HOME}/conf/settings 的 localRepository 配置项决定。远程私服仓库一般是nexus,具体地址在项目的pom.xml中配置。比如

一般是进入父级目录之后执行

如果是多级目录罩春物的话,有时候并不一定是按照 具体的项目来 编译,比如

这个时候如果一个项目一个项目来编译会超级多,很繁琐,这里是按照 subparentproject 来编译,命令如下

有个注意的地方:
subparentproject 目录下的pom.xml文件中一定有类型如下的配置

1、需要安装插件 Extended Choice Parameter Plug-In 可以支持参数单选、多选
2、项目选择"自由风格",而不是maven编译
3、在“构建” -> "执行shell" 中编写 子模块编译脚本及其后续处理

具体配置如下图

“构建” -> "执行shell" 中的处理脚本

附加:

Linux Bash下字符串操作总结

2. 自动化部署工具jenkins,从此摆脱重复单调的工作

它是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

有了它你可以免除手工编译,发布代码,上线更容易。节省的时间你可以喝杯咖啡,放松一下 ^_^

道路千万条,熟悉第一条,我这里使用 Red Hat 家族衍生的 centos 上安装Jenkins。

这里可以下载rpm包: http://pkg.jenkins-ci.org/redhat/

也可以如下操作:

安装

将Jenkins存储库添加到yum repos,并从此处安装Jenkins。

安装稳定版

还有一个LTS YUM资源库的LTS版本线

安装Java

Jenkins需要Java才能运行,但默认情况下某些发行版不包含此内容。要安装Open Java Development Kit(OpenJDK),请运行以下命令:

安装完成后Jenkins 启动之前的注意事项

默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。

找到 JENKINS_USER 和JENKINS_PORT ,修改为root和你需要的端口

启动/停止

注意:如果收到以下错误消息,请确保已安装Java:

Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]

禁用防火墙

有关CentOS Java的重要说明

Jenkins需要Java才能运行,但yum install jenkins不强制已经安装了java。检查以确保您已通过运行安装了hava java java -version。为了进一步使CentOS用户感到困难,默认的CentOS版本的Java与Jenkins不兼容。Jenkins通常最适合使用Java的Sun实现,由于许可原因,它不包含在CentOS中。

如果您获得类似于以下内容的输出,则表示您使用的是Java的默认(GCJ)版本,该版本不适用于Jenkins:

要解决此问题,您可能需要删除GC的GCJ版本并安装Sun兼容版本。

如果收到上面的输出,请卸载默认的java:

然后在卸载Java之后(或者如果你根本没有安装Java那么开始)。您需要安装与Sun兼容的Java版本。最简单的方法是使用OpenJDK,它可以通过EPEL存储库获得(或者您可以直接从Oracle安装官方 RPM)。要安装OpenJDK,请运行以下命令:

根据您的CentOS版本,OpenJDK的软件包名称可能有所不同。使用yum search openjdk来检查包的名称。如果通过yum找不到OpenJDK,则可能需要安装EPEL yum存储库。安装后,您应该能够获得以下java -version输出:

Ok,到此jenkins安装完成。

接下来你可以在浏览器地址中输入Jenkins网址,如:IP:端口,将显示如下内容:

拷贝指定文件密码,进入用户自定义插件界面,建议选择安装官方推荐插件:

接下来是进入插件安装进度界面:

等待一段时间之后,插件安装完成,配置用户名密码:

OK,你可以使用jenkins来编译、发布你的代码了。oh,它支持从代码库中直接拉取代码,git、svn都支持。赶快使用你的Spring boot、go试试吧。

3. jenkins 重新设置构建号之前很多编译失败的,很难看

在 jenkins manage----script console 中执行如下脚本:
item = Jenkins.instance.getItemByFullName("job_name")
item.builds.each(){build->build.delete()}
Jenkins.instance.getItemByFullName("job_name").updateNextBuildNumber(想设置的起始号 如 1)

4. 请问Jenkins如何配置自动或定时编译

打开job的配置界面,在构建触发器栏下有Poll SCM(定时检查源码变更并构建)和Build periodically(周期进行项目构建,不关心源码是否变更)选择,打开它们后面的问号,有很明确的介绍和实例

5. jenkins git+maven 编译怎么知道编译成功

1.通过Jenkins web页面添加Git plugin

Manage Jenkins->Manage Plugins->Available中选择Git Plugin安装,

注意要填写user name和 email地址,否则日后会碰到git tag的错误

2.在Jenkins使用的机器上创建Git用户所需要的公钥

具体步骤参考前面Git server文章

但是注意,要将最后生成的.ssh目录下的公钥和私钥文件复制到/var/lib/jenkins/.ssh目录下,否则git clone命令会报错

3.修改jenkins目录权限

chmod -R 777 /var/lib/jenkins

4.现在可以通过web页面创建一个项目Test,然后设置该项目使用Git作为版本管理。

并且设置repository路径,比如我的:git@S1:cml.git

5.在build选项的pom文件指定你需要执行的pom.xml路径

比如我的一个测试工程名叫client,是个maven工程,我设置为client/pom.xml

6.现在可以点击左侧的Build now进行测试

一切OK,则没有错误日志。在Build History中可以看到测试结果,有没有错误。

7.Email发送设置

在Manage Jenkins->Configure System->Email Notification中,设置SMTP发送的基本信息,点击Advanced,可以填写用户名和密码。还有一个测试按钮可以用来发送测试设置是否正确。

同时在Test项目中的Building Settings打勾选中E-mail
Notification,点击右边的问号,会出现帮助文档,说明在四种情况下会发送email,填写接受email的地址,然后故意将client代码
修改到不能编译通过。然后点击Build now按钮测试一下。果然收到email.

8.检查代码更新并编译

可以通过Poll SCM来设置定时检查编译功能

比如*/5 * * * * 就是每隔5分钟检查一次,如果git仓库中有更新,则执行build操作。

9.使用Maven加快下载速度

如我这篇文章所述,用可以避免下载过慢问题,也可以绕过公司内部外网限制问题。

Jenkins的.m2目录路径在:/var/lib/jenkins/.m2/

首先清空里面所有的jar包,然后创建settings.xml文件,并编辑内容如下:

源码打印?
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url></url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url></url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url></url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>

现在点击build now测试一下,打开console output,看看命令行输出结果,如果发现从S1下载jar包,就正确。和不用的比较了一下,节省了1分多钟.

热点内容
delphi源码加密 发布:2024-11-19 03:24:07 浏览:809
分解压符号 发布:2024-11-19 03:24:04 浏览:251
苹果桌面文件夹命名 发布:2024-11-19 03:22:01 浏览:513
服务器ess更换系统ip会变吗 发布:2024-11-19 03:21:09 浏览:792
ssh系统源码下载 发布:2024-11-19 03:11:23 浏览:71
如何更新pipini配置信息 发布:2024-11-19 03:10:00 浏览:667
dbd数据库 发布:2024-11-19 03:09:59 浏览:857
重装上阵原哥的编号密码是多少 发布:2024-11-19 03:09:51 浏览:460
博图服务器地址 发布:2024-11-19 03:07:08 浏览:494
阿里云服务器域名购买后怎么建站 发布:2024-11-19 02:51:02 浏览:149