Jenkins入门使用

Jenkins入门使用

1先安装jdk才能运行jenkins

shell 复制代码
yum install -y java-1.8.0-openjdk.x86_64

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

shell 复制代码
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查看运行状态,

shell 复制代码
docker ps

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

shell 复制代码
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标签下的项目名写的一样才行

相关推荐
KIDULT°7 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
wewowilling9 小时前
认识微服务
java·运维·微服务·springcloud
玖石书9 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
weifont11 小时前
自动化抓取和上架商品:能不动手,就少动手
运维·前端·自动化
拂拉氏11 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Mikko712 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
光依旧12 小时前
发版就掉请求?Spring Boot优雅停机的四步
运维·spring boot·nginx·高可用·优雅停机·mcp server
yichengerp14 小时前
电子行业常用erp系统有哪些?推荐适合中小电子厂的易呈erp软件,操作简单,易落地
大数据·运维·人工智能·云计算·制造
天国梦14 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
信可维15 小时前
自动化操作多平台账号:登录态、双会话与 User Data 的 3 个坑
运维·自动化