博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用jenkins+saltstack+sh部署项目到多台服务器
阅读量:5971 次
发布时间:2019-06-19

本文共 1414 字,大约阅读时间需要 4 分钟。

jenkins的配置(这里作用只是当做界面使用,利用它来管理执行salt命令,这里以 shop.51ekt.com 这个项目目录为例)

1.利用参数化构建项目,来实现是发布还是回滚操作:

2.构建操作来执行shell脚本

saltstack 的 sls文件编写

deploy.sls文件如下

deploy:  cmd.script:    - source: salt://deploy.sh    - args: "{
{pillar['deploy']}} {
{pillar['space']}} {
{pillar['project']}} {
{pillar['repertory']}} {
{pillar['version']}}" - user: www - group: www

上面的作用就是 执行配置文件中设置资源目录 下的 deploy.sh脚本,参数为args里的,以 www用户,用户组为www 的权限来执行sh里的内容。

shell脚本编写

#!/bin/shdeploy=$1workspace=$2#通过jenkins动态获取project=$3repertory=$4version=$5case $deploy in  publish)      #init      if [ ! -d ${workspace} ]; then        mkdir -p $workspace      fi          #echo $project      #初始化项目      if [ ! -d ${project} ]; then        cd $workspace && git clone $repertory        composer install      else        cd $project && git pull        #composer update      fi    ;;  rollback)      if [ ! -d ${project} ]; then        echo "you need to create project first"        exit 2      else        cd $project        if [ -z ${version} ]; then          echo "回滚上一版本"          git reset --hard HEAD^        else          echo "回滚指定版本"          git reset --hard $version         fi       fi     ;;  *)  exit    ;;esac

作用就是:执行sh脚本传过来的参数

1.来判断是发布还是回滚 操作(git)

如果是 publish 操作,判断 指定的目录 项目文件夹是否存在 , 存在 执行 git pull 操作,不存在(即第一次构建)执行git clone 并且 通过composer安装相关库。

如果是 rollback操作,判断 参数中version(git log的唯一hash) 是否为空,如果为空则回滚到上一版本,否则回滚到指定版本。

转载地址:http://yxwox.baihongyu.com/

你可能感兴趣的文章
这个五月,我拿到了腾讯暑期offer
查看>>
洛谷P1162 填涂颜色
查看>>
Zookeeper服务器集群的搭建与操作
查看>>
如何打印一个Struct来调试
查看>>
Qt编写安防视频监控系统2-视频播放
查看>>
C#学习笔记-stream,win8.1开发小记
查看>>
android 两种设置全屏的activity方式
查看>>
c# 自定义控件使其填充方格且自动变换大小
查看>>
c# 读取大文件方法
查看>>
VS2010项目生成时提示错误“在证书存储区中找不到清单签名证书”?
查看>>
iOS-CoreImage简单使用
查看>>
HDU_1072_Nightmare题解
查看>>
使用@JsonFormat引起的时间比正常时间慢8小时解决方法
查看>>
js escape,unescape解决中文乱码问题的方法
查看>>
bzoj2073
查看>>
sed进阶教程
查看>>
go不使用工具包将大写字符转成小写字符的方法
查看>>
初始angular框架(1)
查看>>
计算进程出现次数
查看>>
(2)shiro角色资源权限
查看>>