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页面

在这里插入图片描述
这里的密码在图中有提示
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
找到<mirrors> </mirrors>标签,在改标签中添加如下代码

<mirror>
     <id>alimaven</id>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
     <mirrorOf>central</mirrorOf>
</mirror> 
配置默认maven仓库

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

<localRepository>/usr/local/maven/repository</localRepository>

默认的仓库在/.m2/repository

安装 git

yum -y install git

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

全局化配置

在这里插入图片描述

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

在这里插入图片描述

JDK路径配置

在这里插入图片描述

Git路径配置

在这里插入图片描述

Maven路径配置

在这里插入图片描述

系统配置

在这里插入图片描述

全局属性

在这里插入图片描述

SSH remote配置

在这里插入图片描述
username 和password 认证
在这里插入图片描述

Gitlab配置

在这里插入图片描述
API token认证 去自己的服务器找到token。
在这里插入图片描述

构建maven项目

创建项目
在这里插入图片描述
若干配置项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
构建前先执行的命令行
在这里插入图片描述

在这里插入图片描述

在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-snapshots</id>
       <username>admin</username>
       <password>123456</password>
     </server>
     <server>
       <id>nexus-releases</id>
       <username>admin</username>
       <password>123456</password>
     </server>
</servers>
配置target目录下POM文件

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

<!-- 发布maven私服 -->
<distributionManagement>
      <repository>
          <id>nexus-snapshots</id>
          <name>nexus_server</name>
          <url>http://47.100.xxx.xxx:30010/repository/snapshots/</url>
      </repository>
      <snapshotRepository>
          <id>nexus-releases</id>
          <name>nexus-release</name>
          <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/

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐