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

相关推荐
ajassi200012 分钟前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
matlab的学徒1 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
Insist7531 小时前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
xqlily2 小时前
Linux操作系统之Ubuntu
linux·运维·ubuntu
倔强的石头1062 小时前
【Linux指南】Makefile入门:从概念到基础语法
linux·运维·服务器
ajassi20002 小时前
linux C 语言开发 (七) 文件 IO 和标准 IO
linux·运维·服务器
一只游鱼3 小时前
Zookeeper介绍与部署(Linux)
linux·运维·服务器·zookeeper
lllsure4 小时前
【Docker】存储卷
运维·docker·容器
wheeldown4 小时前
【Linux】 存储分级的秘密
linux·运维·服务器
不做菜鸟的网工4 小时前
Headscale 的部署方法和使用教程
运维