当前位置: 首页 > news >正文

文教设施网站制作方案wordpress 全局广告

文教设施网站制作方案,wordpress 全局广告,建设网站破解版,台州企业建站程序Jenkins- CICD流水线 python/Java代码升级与回退 1、执行思路 1.1、代码升级 jenkins上点击 upgrade和 代码版本号 --${tag} jenkins 推送 代码 和 执行脚本 到目标服务器/opt目录下 执行命令 sh run.sh 代码名称 版本号 upgrade 版本号 来自jenkins的 构建参数中的 标签…Jenkins- CICD流水线 python/Java代码升级与回退 1、执行思路 1.1、代码升级 jenkins上点击 upgrade和 代码版本号 --${tag} jenkins 推送 代码 和 执行脚本 到目标服务器/opt目录下 执行命令 sh run.sh 代码名称 版本号 upgrade 版本号 来自jenkins的 构建参数中的 标签参数标签值从gitee处获取 run.sh 升级代码执行逻辑 1、在目标服务器上 新代码名称标签 cp 到 bak目录下 2、停服新代码 mv 到执行目录下启动 1.2、代码回退 jenkins上点 rollbak 和 代码版本号 run.sh 回退代码执行逻辑 停服cp bak/代码-版本号 到执行目录启动 2、gitee代码如下 run.sh 执行脚本 test_flask.py python代码 2.1、执行脚本run.sh代码如下 #!/bin/bash# cd dirname $0 APP_NAME$1 APP_file/opt/test/${APP_NAME} tag$2#使用说明用来提示输入参数 usage() {echo Usage: ./run.sh [start|stop|status|restart|upgrade]exit 1 }#检查程序是否在运行 is_exist(){# pidjps -l|grep $APP_NAME|grep -v grep|awk {print $1} 此次获取java进程pid pidcurl localhost:10080/pid 2/dev/null#如果不存在返回1存在返回0 if [ -z ${pid} ]; thenecho pid不存在return 1elsereturn 0fi }#启动方法 start(){echo ${APP_file} is starting ...is_existif [ $? -eq 0 ]; thenecho ${APP_file} is already running. pid${pid}else# nohup java -Xmx100m -Xms100m -jar ${APP_file} --server.port8181 /dev/null 21 此处启动java jar包 nohup python3 test/test_flask.py echo START...sleep 5is_existif [ $? -eq 0 ]; thenecho ${APP_file} is running success. pid${pid}fifi }#停止方法 stop(){echo ${APP_file} is stopping ...is_existif [ $? -eq 0 ]; thenkill -15 $pidecho ...sleep 2is_existif [ $? -eq 0 ]; thenecho ${APP_file} still in the running. pid${pid}elseecho ${APP_file} has stopped running.fielseecho ${APP_file} is not runningfi }#输出运行状态 status(){is_existif [ $? -eq 0 ]; thenecho ${APP_file} is running. Pid is ${pid}elseecho ${APP_file} is NOT running.fi }#重启 restart(){echo ${APP_file} is restarting ...stop#sleep 5start }#程序升级 #upgrade(){ # ./run.sh stop # cd .. # mv $APP_NAME $backup # cp $rjxf ./ # ./bin/run.sh start #}upgrade(){cd /opt/cp ./${APP_NAME} ./bak/${APP_NAME}-${tag}./run.sh ${APP_NAME} ${tag} stopmv ${APP_NAME} test/${APP_NAME}./run.sh ${APP_NAME} ${tag} start;exit }rollback(){cd /opt/./run.sh ${APP_NAME} ${tag} stopcp ./bak/${APP_NAME}-${tag} test/${APP_NAME}./run.sh ${APP_NAME} ${tag} startecho slepp 5s ...sleep 5 }#根据输入参数选择执行对应方法不输入则执行使用说明 case $3 instart)start;;stop)stop;;status)status;;restart)restart;;upgrade)upgrade;;rollback)rollback;;*)usage;; esac2.1、python代码如下 from flask import Flask import time,osapp Flask(__name__)app.route(/) def status():msg time.strftime(%Y-%m-%d %H:%M:%S)\tMyPid: str(os.getpid())\tv2.1.0\nreturn msgapp.route(/pid) def pid():msg str(os.getpid()) \nreturn msgif __name__ __main__:app.run(port10080,host0.0.0.0)2.3、pipeline流水线Jenkinsfile配置如下 pipeline {agent anystages {stage(代码部署) {when {expression { params.ACTION upgrade}}steps {script {echo 从git上拉取代码checkout scmGit(branches: [[name: */master]], extensions: [], userRemoteConfigs: [[credentialsId: c2b40745-be98-4627-93af-5cc975b0e355, url: https://gitee.com/****/test.git]])echo 新代码tag标签 推送到目标服务器备份目录下sshPublisher(publishers: [sshPublisherDesc(configName: aly-arm, transfers: [sshTransfer(cleanRemote: false, excludes: , execCommand: , execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: [, ], remoteDirectory: , remoteDirectorySDF: false, removePrefix: , sourceFiles: test_flask.py,run.sh)], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])sshPublisher(publishers: [sshPublisherDesc(configName: aly-arm, transfers: [sshTransfer(cleanRemote: false, excludes: , execCommand: cd /opt;chmod x run.sh;sh run.sh test_flask.py ${tag} ${ACTION};exit, execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: [, ], remoteDirectory: , remoteDirectorySDF: false, removePrefix: , sourceFiles: ,usePty: true)], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])}}}stage(代码回退) {when {expression { params.ACTION rollback}}steps {script {sshPublisher(publishers: [sshPublisherDesc(configName: aly-arm, transfers: [sshTransfer(cleanRemote: false, excludes: , execCommand: cd /opt;sh run.sh test_flask.py ${tag} ${ACTION};exit, execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: [, ], remoteDirectory: , remoteDirectorySDF: false, removePrefix: , sourceFiles: ,usePty: true)], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])}}}} }3、Jenkins配置 3.1、添加2个构建化参数 1、选项参数用于选择upgrade升级或者rollback回退 2、git参数用于从gitee上拉取对于标签的值 3.2、添加流水线配置 3.3、执行
http://www.yutouwan.com/news/204232/

相关文章:

  • wordpress做视频网站上海南山做网站
  • 铁门关网站建设怎么样建设一个网上教学网站
  • 株洲网站建设工作室wordpress 3.9.1
  • 现在网站主怎么做淘宝客php 网站授权
  • 巩义网站建设与制作2019银川住房建设规划信息网站
  • 2019年长春网站建设最新价格表网络工程师app
  • 东莞 网站 建设 物流网上购物的网站有哪些
  • 网站建设 客户评价祺越网站建设
  • 杭州建设网站免费网络公司经营范围包括哪些
  • 做旅游攻略去什么网站好怎么做自己的网站赚钱
  • 找装修公司去哪个网站外贸网站建设公司平台
  • 重庆网站制作公司 网站飘动
  • 口碑最好的网站建设网站建设seo优化公司
  • 毕设做网站酒店宣传推广方案
  • 云服务器做网站新手教程wordpress 插件 手机
  • 网站建设 八羊哪里有做手工活的可以拿回家的
  • 专业的聊城做网站费用dz网站模版
  • 门户网站 营销公众号接入小程序
  • 租房网站的财务分析表怎么做淄博网站建设团队
  • 福州企业制作网站有没有做ppt很厉害的网站
  • 高端企业门户网站建设费用网站开发实训报告
  • 开设赌场罪建设网站用python做一旅游网站
  • php怎么做网站教程数字广东网络建设有限公司是国企吗
  • 蒙城做网站厦门网站建设_
  • wordpress 模块化主题广州seo优化公司排名
  • 余姚网站建设的公司做服饰网站
  • 视频点播网站开发教程Wordpress 插件购买
  • 国外网站源代码1000M双线网站空间
  • 成都网站推广哪家专业安平丝网网站建设
  • 怎么做网站静态布局厦门模板建站平台