jenkins配置应用自动部署到docker

本文介绍了如何配置jenkins,结合Hudson SCP publisher和Publish Over SSH插件,实现应用自动部署到docker。首先,详细讲解了所用的三个关键插件及其作用。接着,阐述了配置这些插件的过程,包括在jenkins系统设置中设置远程虚拟机的登录信息。最后,展示了在项目配置中设置环境变量、文件传输和远程命令执行的具体步骤,以完成自动化部署的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要

本文记录jenkins上配置docker自动部署

所用插件

  1. Hudson SCP publisher plugin:拷贝部署文件到远程虚拟机
  2. Publish Over SSH:执行远程部署命令
  3. Environment Injector Plugin:注入变量

配置插件

  1. 配置scp插件:
    在jenkins的系统设置里为scp配置远程虚拟机登录信息:
    这里写图片描述
  2. 配置Publish over ssh插件:
    在在jenkins的系统设置里为ssh配置远程虚拟机登录信息:
    这里写图片描述

项目配置

下面的配置都在项目的配置页面
1. 配置所需环境变量
设置自动化脚本中需要用到的变量
这里写图片描述
2. 配置文件传输
这里写图片描述
3. 配置远程命令执行
这里写图片描述
自动化脚本如下:

# 工作目录
WORK_DIR="/root/karaf-deploy/${SERVICE_NAME}";

# 容器在运行
if [[ `docker ps | grep ${SERVICE_NAME}` ]]; 
then 
    # 停止运行中的容器
    docker stop ${SERVICE_NAME}
fi;

# 解压缩文件
unzip -o ${WORK_DIR}/userStatusMgrBuilder-1.0-RELEASE.zip -d ${WORK_DIR};

# 替换主机IP
sed -i -e '/^host=.*$/{s/=.*$/=${HOST}/}' ${WORK_DIR}/etc/userStatusMgr.cfg;

# 启动
if [[ `docker ps -a | grep ${SERVICE_NAME}` ]]; 
then
    # 容器已创建,只重启
    docker restart ${SERVICE_NAME}
else
    # 如果容器未创建,创建容器
    docker run --name=${SERVICE_NAME} --net=host -d -i -t -v ${WORK_DIR}/deploy:/usr/karaf/deploy -v ${WORK_DIR}/etc:/usr/karaf/external_etc -v ${WORK_DIR}/log:/usr/karaf/data/log -p 8181:8181 -p 9090:9090 karaf-osgi
fi;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值