一、前言
Maven是一个项目管理和综合工具,Maven提供给开发人员构建一个完整的生命周期框架。许多 Apache Jakarta 项目发文时使用 Maven , Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件 。
二、在Jenkins主机上安装Maven
1、下载软件
cd /tmp
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
2、解压压缩包
tar xf apache-maven-3.3.9-bin.tar.gz -C /opt
ln -s apache-maven-3.3.9 maven
3、添加命令到环境变量
echo "export PATH=$PATH:/opt/maven/bin" >>/etc/profile
source /etc/profile
4、将依赖源仓库地址改为阿里云地址
vim /opt/maven/conf/settings.xml
#在158行下方加入以下命令
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
5、使用一个简单Java代码测试
tar xf hello-world-war.tar.gz
cd hello-world-war/
mvn clean
mvn package
#当有target目录生成及成功
三、使用Nexus私服作为依赖源仓库
1、下载安装JDK
https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/rpm/centos7-x86_64/Packages/ #清华源JDK下载地址
rpm -ivh jdk-8u181-linux-x64.rpm
2、下载安装Nexus
官网地址: https://www.sonatype.com/download‐oss‐sonatype
tar xf nexus-3.23.0-03-unix.tar.gz
ln -s nexus-3.23.0-03 nexus
3、启动Nexus
/opt/nexus/bin/nexus start
4、进入网页初始化
密码存储文件/opt/sonatype-work/nexus3/admin.password
四、修改Maven依赖源地址为Nexus
1、修改Maven配置文件
vim /opt/maven/conf/settings.xml
#在132行下方加入以下命令
<server>
<id>my-nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>my-nexus-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
#在158行下方加入以下命令
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://10.0.0.9:8081/repository/maven-public/</url>
</mirror>
#在247行下方加入以下命令
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://10.0.0.9:8081/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://10.0.0.9:8081/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
#在256行下方加入以下命令
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
2、测试是否是通过Nexus地址下载
cd /tmp/hello-world-war
mvn clean
mvn package
五、Jenkins创建Maven项目
1、在GitLab上新建一个仓库
2、Jenkins创建Maven项目
3、配置Maven项目
六、推送Java代码到GitLab
git clone git@10.0.0.200:dev/java.git
cd /tmp
tar xf jeesns.tar.gz
mv jeesns/* /root/java/
git add .
git commit -m "new_code"
git push origin master
七、部署一个Tomcat环境测试
软件下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz
1、下载安装JDK
cd /opt
rpm -ivh jdk-8u181-linux-x64.rpm
2、下载解压压缩包
cd /opt
tar xf apache-tomcat-8.5.57.tar.gz
ln -s apache-tomcat-8.5.57 tomcat
3、优化Tomcat启动加速
vim /usr/java/jdk1.8.0_181-amd64/jre/lib/security/java.security
修改117行为:securerandom.source=file:/dev/urandom
4、启动服务
/opt/tomcat/bin/startup.sh
5、安装MariaDB数据库
yum -y install mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysqladmin -u root password '123456'
mysql -u root -p
create database jeesns;
6、将代码文件的数据库信息导入数据库
[root@jenkins ~]# cd /var/lib/jenkins/workspace/Maven/jeesns-web/database/
[root@jenkins database]# scp jeesns.sql 172.16.1.7:/tmp
[root@web01 opt]# mysql -u root -pxxxxxx jeesns </tmp/jeesns.sql
八、Jenkins设置项目构建命令
九、测试项目是否成功
十、Maven项目Java代码上线脚本
vim /server/scripts/jenkins.sh
#!/bin/bash
CODEDIR=/opt/tomcat/webapps
IP=172.16.1.7
TAR_CODE(){
cd ${WORKSPACE}/target
scp *.war ${IP}:${CODEDIR}/${git_version}.war
}
JY_CODE(){
ssh ${IP} "cd ${CODEDIR} && unzip ${git_version}.war -d ${git_version}"
}
CREATE_LN(){
ssh ${IP} "cd ${CODEDIR} && rm -rf ROOT && ln -s ${git_version} ROOT"
}
RESTART(){
ssh ${IP} "/opt/tomcat/bin/shutdown.sh && /opt/tomcat/bin/startup.sh"
}
main(){
if [[ "${choice}" == "publish" ]];then
if [[ "$GIT_COMMIT" == "GIT_PREVIOUS_SUCCESSFUL_COMMIT" ]];then
echo "构建失败,该版本已发布"
else
TAR_CODE
JY_CODE
CREATE_LN
RESTART
fi
else
CREATE_LN
RESTART
fi
}
main
网友评论