jekins-安装使用总结

jekins

  • jekins简介
    • 安装(MAC)
    • 配置
    • 问题
    • POM方式构建项目配置示例

jekins简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

安装(MAC)

  1. 安装命令:brew install jenkins
  2. 启动命令:brew services start jenkins
  3. 停止命令:brew services stop jenkins

配置

  1. JDK配置
  2. MAVEN配置
  3. github配置
  4. 安装常用插件->Manage Plugins
    1. 安装Build Name and Description Setter插件(重命名任务)
    2. 安装git parameter插件(配置任务时,添加git相关参数)
    3. 安装Maven Integration plugin 插件(构建pom任务)

问题

  1. 提示账号没有脚本的执行权限
    解决:需要使用sudo命令,并且要配置允许账号使用sudo时不输入密码
    1.sudo vi /etc/sudoers
    2.设置:账户 ALL = (ALL) NOPASSWD: NOPASSWD: ALL

  2. 构建springboot应用时,提示XX-SNAPSHOT.jar中没有主清单属性的解决办法
    解决:在pom文件中加入如下代码


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

  1. jekins调用脚本启动jar包后显示启动成功实际并没有
    原因: jenkins Process leaked file descriptors:Jenkins默认会在Build结束后Kill掉所有的衍生进程
    解决:在调用启动脚本前使用 BUILD_ID=dontKillMe 来标示该脚本启动进程不被kill掉
  2. jekins调用stop脚本根据名称查找进程id会多出来两个id号的问题
    原因:当前启动脚本也会被包含在内,所以会多出现一个进程id号
    解决:忽略当前的shell脚本即可,pid=ps -ef | grep "$filename" | grep -v “脚本名称” | grep -v "grep" | awk '{print $2}'
  3. 忘记amdin初始密码怎么办?
    解决:进入/users/你的用户名/.jenkins/secrets,cat initialAdminPassword

POM方式构建项目配置示例

  1. 首先选择pom构建项目,配置git项目地址
    jekins-安装使用总结_第1张图片
  2. 配置项目参数
    jekins-安装使用总结_第2张图片
  3. 源码账号管理
    jekins-安装使用总结_第3张图片
  4. 构建编写shell脚本
    jekins-安装使用总结_第4张图片
  5. 编写启动脚本
    jekins-安装使用总结_第5张图片
    启动shell命令:
DEPLOY_PATH=/Users/renfeng/Downloads/usesful/jekins_deploy/deploy_path
SCRIPT_PATH=/Users/renfeng/Downloads/usesful/jekins_deploy/deploy_script
JAR_PATH=$DEPLOY_PATH/$ServiceName
DEPLOY_VERSION=`echo $POM_VERSION | awk -F'-' '{print $1}'`
JAR_NAME=${ServiceName}-${DEPLOY_VERSION}-SNAPSHOT.jar

cd $SCRIPT_PATH

sh init.sh $DEPLOY_PATH $ServiceName

cp $WORKSPACE/target/$JAR_NAME $JAR_PATH

sh stop.sh $JAR_NAME

BUILD_ID=dontKillMe sh start.sh $JAR_PATH $JAR_NAME

init.sh

echo "**********************web on  jenkins beigin init*************************"
BASE_PATH=$1
PROJECT_NAME=$2
JAR_PATH=$BASE_PATH/$PROJECT_NAME
if [ ! -d $JAR_PATH ]; then
  echo "beigin build jar path:$JAR_PATH"	
  mkdir $JAR_PATH	
fi
echo "**********************web on  jenkins beigin inited*************************"

stop.sh

echo "**********************web on  jenkins begin stop*************************"
JAR_NAME=$1
echo "$JAR_NAME"
pid=`ps -ef | grep $JAR_NAME | grep -v "stop" | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]; then
   kill -9 $pid
fi
echo "**********************web on  jenkins stoped*************************"

start.sh

#!/bin/bash
JAR_PATH=$1
JAR_NAME=$2

echo "**********************web on  jenkins begin start************************"
chmod 777 $JAR_PATH
cd $JAR_PATH

LOG_PATH="$JAR_PATH/log"

if [ ! -d $LOG_PATH ];
  then
    mkdir $LOG_PATH	
fi
nohup java -jar $JAR_NAME >>$LOG_PATH/local-cache.log &

echo "**********************web on  jenkins started*************************"

你可能感兴趣的:(开发工具,开发效率)