Jenkins入门使用

news/2024/12/25 20:33:34/文章来源:https://www.cnblogs.com/cyqf/p/18631367

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.hqwc.cn/news/858817.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 泛型详细解析

本文将带你详细解析 Java 泛型,了解泛型的原理、常见的使用方法以及泛型的局限性,让你对泛型有更深入的了解。泛型的定义 泛型类的定义 下面定义了一个泛型类 Pair,它有一个泛型参数 T。 public class Pair<T> {private T start;private T end; }实际使用的时候就可以…

javafx-请求篇

OkHttpClient 基本使用步骤如下构建客户端对象OkHttpClient 构建请求Request 生成Call对象 Call发起请求(同步/异步)import java.io.IOException; import okhttp3.Call; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Req…

javafx-一个小demo

懒得讲了,直接看代码吧 pox.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://m…

一个小demo

懒得讲了,直接看代码吧 pox.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://m…

一个 Bug JDK 居然改了十年?

你敢相信么一个简单的Bug,JDK 居然花了十年时间才修改完成。赶快来看看到底是个什么样的 Bug?问题现象 今天偶然看到了一个 JDK 的 Bug,给大家分享一下。 假设现在有如下的代码: List<String> list = new ArrayList<>(); list.add("1"); Object[] ar…

崩溃列表数据库查询(可供参考)

首先去https://weikezhijia.feishu.cn/sheets/BIvxsKZhHhzpC6tDyoLcPE50n4d?sheet=9ikXjx 看库中导出指标,然后可以查到是rum_error表,然后去ors_rum_test服务器,ors_rum_test数据库,rum_error表去查询,结合点击全部按钮后查看F12 然后查看preView里的字段,结合着去查rum…

流量分析练习

flag明文 题目:key.pcapng查找flag或者flag{,我们在下图查找到所需要的flag本类题目特点:能够在字节流中直接查找到带有flag的字符串,不存在加解密或转换等,属于明文形式 2.flag编码 题目:64da5a4a1e024d198dfa307299965b6d.pcapng本题考到十六进制编码 将flag转成十六进…

哪里有 class 告诉我?

说明 本文中的 JVM 参数和代码在 JDK 8 版本生效。 哪里有用户类? 用户类是由开发者和第三方定义的类,它是由应用程序类加载器加载的。 Java 程序可以通过CLASSPATH 环境变量,JVM 启动参数 -cp 或者 -classpath 指定用户需要加载的类的路径。这两个配置的优先级从低到高,后…

python多进程之间通讯,消息队列Queue

代码:from multiprocessing import Process, Queuedef producer(q):myinfo = "包子"q.put(myinfo)print(f"生产了{myinfo}")myinfo = "饺子"q.put(myinfo)print(f"生产了{myinfo}\n") 生产了4个,消费5个def consumer(q):print(f&q…

使用DBeaver连接带有Kerberos认证的hive(亲测可用)

先下载工具 https://yvioo.lanzn.com/isBg42j0fu7e里面是两个文件 一个jar包 一个安装包 首先点击kfw-4.1-amd64.msi 进行安装,建议直接默认配置安装 选择"TYPE" 安装完成后 点击 1、先配置环境变量 第一个变量名:KRB5_CONFIG 变量值: 这个就是Kerberos认证给的k…

【QTTabBar】批量去除当前文件夹的所有文件只读属性

使用方法参考: https://www.cnblogs.com/issacnew/p/18392262// 作者:博客园-issacnew // 网站:https://www.cnblogs.com/issacnew/p/18392262 // 作用:qttabbar去除当前文件夹下的所有文件只读属性,使得所有文件可读var qs = new ActiveXObject("QTTabBarLib.Script…

C#使用Python.NET执行Python脚本文件踩坑总结

在VS,Nuget包管理器搜索“Python.NET”,安装pythonnet包,如下图: C#使用Python.NET执行Python脚本文件,C#代码如下:1 public class PythonExecuter2 {3 private readonly string _pythonDllPath;4 private readonly string _workDir;5 6 public PythonExecut…