Skip to main content

【安卓服务器】jenkins项目构建配置

安卓服务器安卓termuxJenkins项目构建About 2 min

选择构建方式

这里使用maven的构建方式,如果没有这个选项,需要先安装Maven Integration plugin插件,并配置maven。

Alt text

构建配置

  1. Gitee 链接
    该配置对应系统管理-系统配置中的Gitee 配置

    Alt text

  2. jdk
    该配置对应系统管理-全局工具配置中的JDK 安装,可以配置多个jdk,选用项目中需要的即可。

    Alt text

  3. 源码管理
    这个地方配置项目的源码位置,构建使用的分支,以及访问需要的账号和密码。账号密码可以在系统管理-凭据中提前配置。

    Alt text

  4. 构建触发器

    这里我们配置,触发构建的情形,我们通过推送代码中的message中的关键词来触发。如下,当提交信息中含有BUILD时就会触发构建。

    Alt text

  5. BUILD

    这里配置pom.xml的相对路径。

    Alt text

暂时就这样配置,之后会在构建后增加一些脚本用于项目的部署。

多模块的maven项目配置之后不能立即看到项目中的所有模块,需要构建之后才可以看到。

Alt text

构建后操作

项目构建后,我们需要将包移动到应用对应的目录下。

#!/bin/bash
# ============================
# 配置
modules=('config' 'admin' 'common-api' 'gateway' 'security' 'syscore')


# ============================
# 配置
target_project_path=/root/apps/${POM_DISPLAYNAME}
echo "开始创建目录及移动包"

echo > changes_moudles
for module in "${modules[@]}"
do
    new_jar_path=`ls $WORKSPACE/$module/target/${module}*.jar`
    mkdir -p $target_project_path/$module
    # 移动jar文件到指定目录,并重命名jar包名称
    jar_name="$module.jar"
    old_jar_path=$target_project_path/$module/$jar_name
    
    check_new=$(md5sum "$new_jar_path" | awk '{print $1}')
    check_old=$(md5sum "$old_jar_path" | awk '{print $1}')

    if [ -f "$old_jar_path" ] && [ "$sum1" = "$sum2" ]; then
        echo "文件未发生变化,不需移动"
    else
        cp $new_jar_path $old_jar_path
        echo "复制文件:$new_jar_path 完成"
        change_modules[${#change_modules[*]}]=$module
        echo $module >> changes_moudles 
    fi
done

echo "以下模块发生变更:"
cat changes_moudles

选择Post Steps将脚本放到下图这个位置,点击保存。之后就可以构建了。

Alt text

如果还希望进行项目的自动重启,可以继续添加下面的脚本:

#!/bin/bash
target_project_path=/root/apps/${POM_DISPLAYNAME}
for change_module in `cat changes_moudles`
do
    # 判断目录下是否存在脚本文件,不存在则提示
    start_shell_file="$target_project_path/$change_module/$change_module-start.sh"
    if [ ! -f "$start_shell_file" ]; then
        echo "==== $change_module : 模块脚本不存在,跳过重启"
        continue
    fi

    if pgrep -f "$change_module" > /dev/null
    then
        echo "$change_module 正在运行,退出。。。"
        kill -9 $(pgrep -f "$change_module")
    fi

    
    sh $start_shell_file
    echo "重启: $change_module"

done

What do you think?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v3.0.0-alpha.10