摘要

在微服务架构中,随着服务越来越多,服务的打包部署就会成为一个相当麻烦的事件。比如说我的ccos我的项目目前就有10个服务须要部署,有没有什么方法让咱们部署一次之后,只有点击执行就能够主动部署呢?当然有!上面咱们应用Jenkins来实现一个微服务架构中的自动化部署工作。

Jenkins的根本应用

jenkins的根本应用,这里不再形容

Jenkins中创立工作

接下来咱们将通过在Jenkins中创立工作来实现自动化部署。因为咱们的ccos是个多模块的我的项目,部署下面和已经的单模块我的项目还是有所区别的。

ccos-outbound

因为各个模块的执行工作的创立都大同小异,上面将具体解说ccos-outbound模块工作的创立,其余模块将简略解说。

  • 首先咱们抉择构建一个maven我的项目,而后输出工作名称为ccos-outbound,配置其Git仓库地址,这里我间接应用了Gitee下面的地址:
  • General配置:
    抛弃旧的构建:
    参数化构建过程:
    GIT参数:

    选项参数:(指代咱们maven的Profiles创立的环境)

    字符参数:submodule
    包目录

    字符参数:jar包

    字符参数:(服务器上构建包所在目录:deploy_dir)

    字符参数:(启动端口port)

    字符参数:(输入格局)
  • 源码治理:
  • 父层构建:
    咱们创立一个构建,构建ccos我的项目中的依赖模块,否则当构建可运行的服务模块时会因为无奈找到这些模块而构建失败;

    # 只install ccos-common模块clean install -pl ccos-common -am

  • 本级构建:
    再创立一个构建,独自构建并打包ccos-outbound模块
  • 执行脚本:
cp -r ${WORKSPACE}/${submodule}/target/${jar} ${deploy_dir}pid=$(ps -ef | grep "${jar} --server.port=${port}" | grep -v grep | awk '{print $2}')kill -9 $pid | exit 0cd ${deploy_dir}nohup java -Xms512m -Xmx512m -jar ${jar} --server.port=${port} > ${output} 2>&1 &

ccos-upms

ccos-upms和其余模块与ccos-outbound创立工作形式基本一致,只需批改构建模块时的pom.xml文件地位和执行脚本地位即可。

其余模块搭建

其余模块依照下面即可

谬误解决:

1、如果呈现上面谬误:

在 branch specifier (blank for any)处留空白,这样它会自动识别所有的revison包含分支branch的
或者准确匹配revison的所在位置