jenkins配置应用自动部署到docker - Go语言中文社区

jenkins配置应用自动部署到docker


概要

本文记录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;
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/apexlj/article/details/49616483
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 22:52:57
  • 阅读 ( 1122 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢