Jenkins持续集成maven+gitlab+nexus私服

这里写目录标题

  • Jenkins是什么?
    • 环境准备
  • 下载并运行 Jenkins
    • 下载jenkins库
    • 安装key
    • 下载jenkins
    • 登录jenkins页面
    • 启动jenkins服务
  • 环境搭建
    • gitlab服务器
    • 应用发布测试环境
    • Jenkins服务器
      • 安装jdk
        • 更新配置文件
        • JAVA_HOME验证
      • 安装maven
        • 配置环境变量
        • 更新配置文件
        • maven安装验证
        • 配置maven阿里云镜像
        • 配置默认maven仓库
      • 安装 git
        • 验证
      • 全局化配置
        • 配置相关Maven的settings配置文件路径
        • JDK路径配置
        • Git路径配置
        • Maven路径配置
      • 系统配置
        • 全局属性
        • SSH remote配置
        • Gitlab配置
      • 构建maven项目
      • 在docker中构建Jenkins+maven 集成到nexus repository(CD)
        • docker pull Jenkins镜像
        • 修改setting.xml文件
        • 配置target目录下POM文件
        • mvn deploy

Jenkins是什么?

是一款开源的CI/CD软件,用于自动化各种任务。如构建、测试和部署软件。
Jenkins支持各种运行方式,可通过系统包、Docker或者一个独立的Java程序。

环境准备

  • 硬件:
    内存:512M
    硬盘:10G以上

  • 需要的软件:
    JAVA8
    Docker

下载并运行 Jenkins

  1. 下载 Jenkins.
  2. 打开终端进入到下载目录.
  3. 运行命令 java -jar jenkins.war --httpPort=8080.
  4. 打开浏览器进入链接 http://localhost:8080.`

下载jenkins库

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

安装key

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

下载jenkins

yum install jenkins

登录jenkins页面

Jenkins持续集成maven+gitlab+nexus私服_第1张图片
这里的密码在图中有提示
cat /var/lib/jenkins/secrets/initialAdminPassword

启动jenkins服务

systemctl start jenkins

环境搭建

gitlab服务器

`

应用发布测试环境

服务器ipxxxxx

Jenkins服务器

192.168.95.91
环境:JDK 、 git、maven、jenkins

安装jdk

yum -y install java-1.8.0-openjdk

vim /etc/profile 
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

更新配置文件

source /etc/profile

JAVA_HOME验证

[root@jenkins ~]# $JAVA_HOME
-bash: /usr/lib/jvm/java-1.8.0: Is a directory

安装maven

yum -y install maven

配置环境变量

MAVEN_HOME=/usr/share/maven
export PATH=${MAVEN_HOME}/bin:${PATH}

更新配置文件

source /etc/profile

maven安装验证

[root@jenkins ~]# mvn -v
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_322, vendor: Red Hat, Inc.
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"

配置maven阿里云镜像

vim /usr/sharel/maven/conf/settings.xml
找到 标签,在改标签中添加如下代码

<mirror>
     <id>alimavenid>
     <name>aliyun mavenname>
     <url>http://maven.aliyun.com/nexus/content/groups/public/url>
     <mirrorOf>centralmirrorOf>
mirror> 

配置默认maven仓库

Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。
Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。
运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

<localRepository>/usr/local/maven/repositorylocalRepository>

默认的仓库在/.m2/repository

安装 git

yum -y install git

验证

[root@jenkins ~]# git --version
git version 1.8.3.1

全局化配置

Jenkins持续集成maven+gitlab+nexus私服_第2张图片

配置相关Maven的settings配置文件路径

Jenkins持续集成maven+gitlab+nexus私服_第3张图片

JDK路径配置

Jenkins持续集成maven+gitlab+nexus私服_第4张图片

Git路径配置

Jenkins持续集成maven+gitlab+nexus私服_第5张图片

Maven路径配置

Jenkins持续集成maven+gitlab+nexus私服_第6张图片

系统配置

Jenkins持续集成maven+gitlab+nexus私服_第7张图片

全局属性

Jenkins持续集成maven+gitlab+nexus私服_第8张图片

SSH remote配置

Jenkins持续集成maven+gitlab+nexus私服_第9张图片
username 和password 认证
在这里插入图片描述

Gitlab配置

Jenkins持续集成maven+gitlab+nexus私服_第10张图片
API token认证 去自己的服务器找到token。
Jenkins持续集成maven+gitlab+nexus私服_第11张图片

构建maven项目

创建项目
在这里插入图片描述
若干配置项
在这里插入图片描述
Jenkins持续集成maven+gitlab+nexus私服_第12张图片
Jenkins持续集成maven+gitlab+nexus私服_第13张图片
Jenkins持续集成maven+gitlab+nexus私服_第14张图片
构建前先执行的命令行
Jenkins持续集成maven+gitlab+nexus私服_第15张图片

Jenkins持续集成maven+gitlab+nexus私服_第16张图片

在docker中构建Jenkins+maven 集成到nexus repository(CD)

docker pull Jenkins镜像

docker run --name jenkins_service -d -u root -v
/usr/local/jenkins_home:/var/jenkins_home -v /usr/java/jdk1.8.o_162:/usr/java/jdk1.8.0_162 -p 8087:8080 -p 50000:50000
jenkins/jenkins:lts

1.docker volume挂在
2.使用宿主机java环境
3.拉取Jenkins镜像

maven环境和git工具安装在docker中。
apt-get update更新后在安装

修改setting.xml文件

<servers>
     <server>
       <id>nexus-snapshotsid>
       <username>adminusername>
       <password>123456password>
     server>
     <server>
       <id>nexus-releasesid>
       <username>adminusername>
       <password>123456password>
     server>
servers>

配置target目录下POM文件

注意pom.xml和setting.xml中的id属性要一致


<distributionManagement>
      <repository>
          <id>nexus-snapshotsid>
          <name>nexus_servername>
          <url>http://47.100.xxx.xxx:30010/repository/snapshots/url>
      repository>
      <snapshotRepository>
          <id>nexus-releasesid>
          <name>nexus-releasename>
          <url>http://47.100.xxx.xxx:30010/repository/reales/url>
      snapshotRepository>
distributionManagement>

mvn deploy

mvn deploy:deploy-file -DgroupId=com.qtec -DartifactId=SJKUtil -Dversion=1.5.0 -Dpackaging=jar -Dfile=/var/jenkins_home/workspace/SJKUtil/target/SJKUtil-1.5.0.jar -Durl=http://私服ip地址/repository/maven-releases/ -DrepositoryId=nexus_server

-DgroupId :业务名称
-DartifactId :应用名称
-Dversion :版本信息
-Dpackaging:打包格式
-Dfile:Jenkins打包后的jar包位置
-Durl:私服地址
-DrepositoryId:仓库id

maven命令上传文件相关配置:https://yanbin.blog/mvn-deploy-file-to-maven-repository/

你可能感兴趣的:(jenkins,ci,maven)