草庐IT

jenkins中maven的安装及配置,如何在jenkins中创建maven任务。

贺haha 2023-03-28 原文

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

本文介绍了在jenkins中maven的安装及配置(安装maven及jdk的方法),以及如何在jenkins中创建maven任务。

有三点需要注意的地方。

  •     maven一定要安装在jenkins服务器上。
    
  •     maven安装之前要先安装jdk。
    
  •     建任务前,需要有git环境,并配置好用户名密码。
    

1. JDK的安装

centos7是自带OPEN JDK1.8的,但是不建议用,因为后面在jenkins中配置JDK目录的时候,自带的OPEN JDK无法识别,还是建议到官网下载安装。

1)到oracle官网下载JDK1.8文件,并上传至服务器解压缩,无需安装,直接使用。

2)执行java文件,看下版本。

2. maven的安装

1)到apache官网下载maven 包,并上传至服务器,无需安装,解压直接使用。

2)配置maven文件settings.xml,在/app/maven-3.0.5/conf下。

主要修改2个地方,localRepository目录 以及 MIRRORS镜像的URL(国外的太慢,改为阿里云的)。

localRepository目录修改方式:

默认在m2下,我们自己新建一个目录/app/maven-3.0.5/mvnrepository,重新添加一行

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ~/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>/app/maven-3.0.5/mvnrepository</localRepository>

依赖包镜像的下载地址URL修改方式:

<!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   | 
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred 
   | server for that repository.
   |-->
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
  <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf> 
    </mirror>
  </mirrors>

3. 服务器系统环境变量的设置

1)编辑环境变量文件 vi /etc/profile

2)添加如下变量(根据自己的安装目录设置)

export JAVA_HOME=/app/jdk1.8.0_201
export MAVEN_HOME=/app/maven-3.0.5
export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin

3)生效环境变量,source /etc/profile

4)验证环境变量是否生效。能正确显示版本、home路径即可。

4.jenkins中的变量设置

1)设置“全局工具配置”

新增JDK设置,目录为上面讲的安装目录。(不能用系统自带的OPENJDK,不然会提示报错)

新增MVN设置

2)设置“系统配置”,增加环境变量,共3个,根据自己的安装目录填写。

5. 在jenkins中新建maven项目

  1. 构建一个maven项目

2)源码部分,根据自己的情况填写。

3)PRE STEP部分,"ROOT POM"还是使用pom.xml文件,"Goals and options"根据maven的命令填写,具体可以看提示“Specifies the goals to execute, such as "clean install" or "deploy". This field can also accept any other command line options to Maven, such as "-e" or "-Djava.net.preferIPv4Stack=true".

4)Post Steps我们先不填,先运行下看看是否可以编译成功。

5)运行任务,第一次运行会下载大量的java依赖包。

最后会出现success,说明编译成功。

在会在maven设localRepository目录下,生成war包。
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/shared/maven-filtering/1.3/maven-filtering-1.3.jar
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar (25 KB at 52.2 KB/sec)
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/shared/maven-mapping/1.0/maven-mapping-1.0.jar
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/apache/commons/commons-compress/1.9/commons-compress-1.9.jar (370 KB at 564.8 KB/sec)
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/com/thoughtworks/xstream/xstream/1.4.4/xstream-1.4.4.jar (473 KB at 723.0 KB/sec)
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar (238 KB at 686.2 KB/sec)
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/shared/maven-mapping/1.0/maven-mapping-1.0.jar (10 KB at 37.9 KB/sec)
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/shared/maven-filtering/1.3/maven-filtering-1.3.jar (50 KB at 127.8 KB/sec)
[INFO] Packaging webapp
[INFO] Assembling webapp [bbs] in [/var/lib/jenkins/workspace/maven_t1/target/bbs-5.7]
[INFO] Processing war project
[INFO] Copying webapp webResources [/var/lib/jenkins/workspace/maven_t1/lib] to [/var/lib/jenkins/workspace/maven_t1/target/bbs-5.7]
[INFO] Copying webapp resources [/var/lib/jenkins/workspace/maven_t1/src/main/webapp]
[INFO] Webapp assembled in [480 msecs]
[INFO] Building war: /var/lib/jenkins/workspace/maven_t1/target/bbs-5.7.war
[INFO] 
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ bbs ---
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom (2 KB at 3.9 KB/sec)
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom (5 KB at 17.0 KB/sec)
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom (8 KB at 25.2 KB/sec)
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom (8 KB at 26.6 KB/sec)
Downloading: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.jar
Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.jar (12 KB at 43.7 KB/sec)
[INFO] Installing /var/lib/jenkins/workspace/maven_t1/target/bbs-5.7.war to /app/maven-3.0.5/mvnrepository/bbs/bbs/5.7/bbs-5.7.war
[INFO] Installing /var/lib/jenkins/workspace/maven_t1/pom.xml to /app/maven-3.0.5/mvnrepository/bbs/bbs/5.7/bbs-5.7.pom
[INFO] [1m------------------------------------------------------------------------[m
[INFO] [1;32mBUILD SUCCESS[m
[INFO] [1m------------------------------------------------------------------------[m
[INFO] Total time: 39.307 s
[INFO] Finished at: 2022-04-13T23:04:19+08:00
[INFO] [1m------------------------------------------------------------------------[m
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving /var/lib/jenkins/workspace/maven_t1/pom.xml to bbs/bbs/5.7/bbs-5.7.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/maven_t1/target/bbs-5.7.war to bbs/bbs/5.7/bbs-5.7.war
channel stopped
Finished: SUCCESS

本文转自:https://blog.csdn.net/bjsunwei/article/details/124166661

有关jenkins中maven的安装及配置,如何在jenkins中创建maven任务。的更多相关文章

  1. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  2. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  3. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  4. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  5. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  6. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  7. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  8. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  9. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  10. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

随机推荐