服务器版本:centeos 7.5
1.安装jdk,配置环境变量(这个就不用说了)
2.下载maven ,百度搜索 maven下载,进入maven官网
3.上传到服务器 、后解压、移动
tar zvxf apache-maven-3.8.2-bin.tar.gz
mv apache-maven-3.8.2 /usr/local/
4.配置环境变量
vim /etc/profile
MAVEN_HOME=/usr/local/apache-maven-3.8.2
export PATH=$ MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH
5.刷新环境变量,生效
source /etc/profile
6.查看maven 版本
/usr/local/apache-maven-3.8.2/bin/mvn --version
如下就成功了
7.更换maven阿里镜像
cd /usr/local/apache-maven-3.8.2/conf
vim settings.xml
在约159行插入下面一段:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url> http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
</mirror>
8.安装jekins
①获取安装包
wget https://prodjenkinsreleases.blob.core.windows.net/redhat/jenkins-2.213-1.1.noarch.rpm
②安装安装包
sudo rpm -ivh jenkins-2.213-1.1.noarch.rpm
③配置jekins端口,我设置为9080
sudo vi /etc/sysconfig/jenkins
JENKINS_PORT="9080"
默认安装地址:/var/lib/jenkins
④启动jekins
sudo service jenkins start
有可能会报错如下
查看错误(从第10行我们可以看出jenkins没有找到java文件,需要自己把java文件地址复制过去)
vi /etc/init.d/jenkins : 手动输入对应服务器中的java路径:
⑤浏览器访问:
http://ip:9080
⑥获取登录密码
根据页面提示位置/var/lib/jenkins/secrets/initialAdminPassword,获取初始密码
出现的问题:/var/lib/jenkins/secrets文件夹默认无法访问,需要修改文件夹及其下面文件权限
sudo chmod 755 -R secrets/
⑦登录密码后需要下载一堆插件
配置maven 和jdk
,系统管理---->全局工作配置
10.新建任务,若没有构建maven的信息,那就是缺少插件,在系统管理,插件管理下载
插件
配置任务
源码管理,添加git信息,clone地址,账号密码,指定好克隆分支
配置构建环境,pre build
执行shell
shell
构建触发器,10分钟检查一次云端代码是否更新,更新就拉代码,从新构建,再执行shell,
例:我的shell脚本
start.sh 启动脚本
#即将 运行的jar文件所在路径
myFile="/usr/local/java/hellojekins/HelloWorldDemo-1.0-SNAPSHOT.jar"
if [ ! -f "$myFile" ]; then
echo "===文件不存在,启动失败!!!==="
else
if [ "$HELLO_pid" == "" ]; then
echo "----------------HelloWorldDemo 开始启动----------"
nohup /usr/bin/java -jar -Xms50m -Xmx100m /usr/local/java/hellojekins/HelloWorldDemo-1.0-SNAPSHOT.jar > /dev/null 2>&1 &
HELLO_pid=`lsof -i:$HELLO_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$HELLO_pid" ]
do
HELLO_pid=`lsof -i:$HELLO_port|grep "LISTEN"|awk '{print $2}'`
done
echo "HELLO jar pid is $HELLO_pid"
echo "-----------HELLO jar启动成功--------"
else
echo "----------------HelloWorldDemo 正在运行请先停止----------"
fi
fi
stop.sh 停止程序,拷贝最新构建的 jar 到工作目录
sleep 1
#拷贝jekins 构建的最>新的jar到当前目录
cp /var/lib/jenkins/workspace/java-test/target/HelloWorldDemo-1.0-SNAPSHOT.jar ./
else
kill -9 $HELLO_pid
echo "===hello pid为$HELLO_pid ,已经被停止成功!"
echo "===正在拷贝jekins自动打包文件,请稍等..."
sleep 3
#删除jar
rm -rf HelloWorldDemo-1.0-SNAPSHOT.jar
sleep 1
##拷贝jekins 构建的最>新的jar到当前目录
cp /var/lib/jenkins/workspace/java-test/target/HelloWorldDemo-1.0-SNAPSHOT.jar ./
sleep 2
if [ ! -f "$myFile" ]; then
echo "===文件拷贝失败==="
else
echo "===文件拷贝成功==="
fi
echo "正在执行start脚本"
# source /usr/local/java/hellojekins/start.sh
fi
选择不同分支打包 插件安装 Git Parameter
**************************************************分割线*******************************************************
java17 + jenkins war包 安装
0. yum install fontconfig 安装指定依赖包
1. 指定Jenkins文件保存路径,如果不设置该变量,Jenkins配置文件等都保存在 ~/.jenkins/ 目录下,不推荐
export JENKINS_HOME=/usr/local/jenkins/home
2. 进入 /usr/local/jenkins/ 创建文件夹 jenkins-log
3. 启动Jenkins
nohup java -jar /usr/local/jenkins/jenkins.war --httpPort=9080 > /usr/local/jenkins/jenkins-log/jenkins.log 2>&1 &
4. 查看端口
lsof -i :9080 # 查看端口是否使用
5. 修改配置文件(/usr/local/jenkins/home/hudson.model.UpdateCenter.xml),将url中的数据改为国内清华源:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 然后重启Jenkins
6. 找到密码
cat /usr/local/jenkins/home/secrets/initialAdminPassword