1. jenkins部署demo
优化点: 选择丢弃旧的构建,最大个数可以选择3或者5个,如果微服务,十个jar,占用很多空间,多来几次部署,硬盘满了
2. 选择参数构建,需要部署哪个项目
名称可以设置为你的项目名,例:test_project
选项 例:
test_user
test_gateway
test_order
3. 可以再来一个布尔值参数是否需要再次打包:
4. git配置:
配置上仓库地址,仓库账户密码。填写分支,*/ 不动,往后面填写如*/test (test分支) */你的分支名
5. 构建环境:
公司服务器不多,目前是微服务,每个服务只有一个实例:部署shell:
文中shell命令需要配置为你自己的环境,修改命令,适配你自己的项目,或者要求。
if [ "${need_package}" = "true" ]; then
echo "mvn开始打包"
mvn clean install -Dmaven.test.skip=true
fi
#这里的-ile是为了实时读取系统环境变量
#!/bin/bash -ile
# 禁止Jenkins在执行任务时杀死其衍生进程
# 防止jenkins执行完,子脚本给关闭,让shell继续运行
BUILD_ID=DONTKILLME
#echo "test_project 的值为: ${test_project}"
JAR_NAME="${test_project}.jar"
#echo "jar_name 的值为: ${JAR_NAME}"
#echo "test_project 的值为: ${test_project}"
# 配置你自己的任务名称
CURRENT_TASK_WORKSPACE_PATH="/var/lib/jenkins/workspace/java-测试-test"
CURRENT_MODULE_TARGET_PATH=""
if [ "${test_project}" = "test-common" ];then
echo "准备部署: test-common"
CURRENT_MODULE_TARGET_PATH="${CURRENT_TASK_WORKSPACE_PATH}/test-modules/testz-common/target"
#if [ -d "${BIZ_COMMON_PATH}" ]; then
#cd ${BIZ_COMMON_PATH} || exit 1
#else
#echo "错误:${BIZ_COMMON_PATH} 文件夹不存在! 需要先打包"
#exit 1
#fi
elif [ "${test_project}" = "test-ucenter" ]; then
echo "准备部署: road-ucenter"
CURRENT_MODULE_TARGET_PATH="${CURRENT_TASK_WORKSPACE_PATH}/test-modules/test-ucenter/target"
elif [ "${test_project}" = "test-mall" ]; then
echo "准备部署: road-mall"
CURRENT_MODULE_TARGET_PATH="${CURRENT_TASK_WORKSPACE_PATH}/test-modules/test-mall/target"
else
echo "error: 找不到要部署模块!"
exit 1
fi
cd "${CURRENT_MODULE_TARGET_PATH}" || exit 1
cp "${JAR_NAME}" /opt/modules/roadhome
cd /opt/modules/roadhome
./test.sh restart "${road_project}"
本文主要介绍了,如何使用参数化选项。以及选择参数之后,shell应该怎么使用该选项参数
另外还有dont kill me 知识点。
# 禁止Jenkins在执行任务时杀死其衍生进程
BUILD_ID=DONTKILLME
还有一个知识点:如果你为docker创建的jenkins, 那么配置jdk,maven 需要进入docker内,将jdk,maven压缩包复制到容器内,并配置环境。也是一个踩坑点。简单就直接不用docker创建jenkins。路径也为docker内的路径