当前位置: 首页 > article >正文

Jenkins入门使用

Jenkins入门使用

1先安装jdk才能运行jenkins

yum install -y java-1.8.0-openjdk.x86_64

2 安装jenkins,运行,进行端口绑定,启动jenkins

docker search jenkins
docker pull jenkins/jenkins
docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins
docker start jenkins

3查看运行状态,

docker ps

4根据CONTAINER ID读取运行日志查看初始密码

docker logs 127e1b3f1587

复制上面的密码,通过浏览器访问服务器ip:8080,粘贴上面的密码。使用按照推荐安装插件,进行初始化安装

安装完成后建立管理员账号。

新建一个任务,

输入名称选择构建一个自由风格的软件项目

复制自己代码的git地址

私人仓库添加添加密码作为凭证进行访问

选择我们想要构建的分支,点击下面的save保存

打开-》全局工具

下载maven

设置maven构建项目,再次打开项目的配置界面找到下图

选择刚刚下载的maven,设置构建执行目标,pom路径设置父级pom文件路径

在系统管理-》插件管理-下载插件(我已经下载过了所以在Installed plugings搜索)应该在Avaliable plugings搜索

在系统管理下设置ssh远程服务

再次打开项目的配置界面,选择下图

设置执行的脚本文件,这里设置的就是本地服务器所以直接执行的本地的jar包,可以设置远程端的服务器,将本地打的包放到其他服务器运行。

脚本:

!/bin/bash

APP_NAME="项目名.jar"
LOG_NAME="/var/jenkins_home/logs/项目名.log"
TARGET_DIR="/var/jenkins_home/jar"
SOURCE_JAR="/var/jenkins_home/workspace/任务名/项目文件夹/项目文件夹/target/$APP_NAME"

#创建必要目录

mkdir -p $TARGET_DIR
mkdir -p $(dirname $LOG_NAME)

#复制文件

if [ -f $SOURCE_JAR ]; then
cp $SOURCE_JAR $TARGET_DIR
echo "文件已复制到 $TARGET_DIR"
else
echo "错误:源文件 $SOURCE_JAR 不存在"
exit 1
fi

#检测程序是否运行

function is_exist() {
pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
if [ -z "$pid" ]; then
return 1 # 不存在
else
return 0 # 存在
fi
}

if is_exist; then
echo "检测到已启动的程序,pid 是 ${pid}"
kill -9 $pid
echo "程序已停止"
else
echo "程序未运行"
fi

#重新启动程序

if is_exist; then
echo "程序仍在运行,无法重新启动"
else
source /etc/profile
BUILD_ID=dontKillMe
nohup java -Xms300m -Xmx300m -jar $TARGET_DIR/$APP_NAME > $LOG_NAME 2>&1 &
echo "程序已重新启动..."
fi

注:项目名要和我们在pom的build标签下的项目名写的一样才行


http://www.kler.cn/a/453176.html

相关文章:

  • Linux运维常见命令
  • 数据仓库和数据湖 数据仓库和数据库
  • SwiftUI 入门趣谈:在文本框(TextField)内限制数字的输入
  • mac_录屏
  • linux系统上SQLPLUS的重“大”发现
  • kubernates实战
  • AI+“国补”推动,市场高度关注相关供应链企业
  • 硬件设计:RS485电平标准
  • uniapp安装使用tailwindcss
  • 从虚拟到现实:AI与AR/VR技术如何改变体验经济?
  • elementPlus消息组件多按钮案例
  • [实战]推流服务SRS安装
  • lxml 解析xml\html
  • Day50 图论part01
  • Virtualbox硬盘扩容
  • python爬虫----爬取视频实战
  • <数据集>风力发电机损伤识别数据集<目标检测>
  • 基于 LMS 算法的离散傅里叶分析器
  • 2024年12月26日Github流行趋势
  • 以太坊的演变:二层扩容的无限潜力和一键多链
  • 2023 年 12 月青少年软编等考 C 语言四级真题解析
  • git--批量修改本地用户名和邮箱
  • ovirt-engine登录报错
  • Lazydocker:高效便捷的Docker管理工具
  • Linux编程中的性能优化方法和工具
  • 精准识别花生豆:基于EfficientNetB0的深度学习检测与分类项目