Jenkins持续集成maven+gitlab+nexus私服
Jenkins是什么?是一款开源的CI/CD软件,用于自动化各种任务。如构建、测试和部署软件。Jenkins支持各种运行方式,可通过系统包、Docker或者一个独立的Java程序。环境准备硬件:内存:512M硬盘:10G以上需要的软件:JAVA8Docker下载并运行 Jenkins下载 Jenkins.打开终端进入到下载目录.运行命令 java -jar jenkins.war --httpPo
Jenkins是什么?
是一款开源的CI/CD软件,用于自动化各种任务。如构建、测试和部署软件。
Jenkins支持各种运行方式,可通过系统包、Docker或者一个独立的Java程序。
环境准备
-
硬件:
内存:512M
硬盘:10G以上 -
需要的软件:
JAVA8
Docker
下载并运行 Jenkins
- 下载 Jenkins.
- 打开终端进入到下载目录.
- 运行命令
java -jar jenkins.war --httpPort=8080.
- 打开浏览器进入链接
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/
更多推荐
所有评论(0)