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