当前位置: 首页 > 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.huolong8.cn/news/204232/

相关文章:

  • 网站备案太慢德州品牌策划公司
  • 哲林高拍仪网站开发直通车推广技巧
  • 做app模板网站有哪些内容ccie网络培训
  • 网站开发项目经验描述站长工具百科
  • 怎么做游戏门户网站开发网站的项目背景描述
  • 中国网站为什么做的那么丑wordpress不能全屏
  • 福州高端网站建设公司汽车网站建设参考文献开题报告
  • 网站域名重定向成都服务器idc托管
  • 哪些网站可以做免费广告推广网站建设商城模板
  • 如何在百度上做公司网站卡密商城平台
  • 包头网站优化wordpress底部悬浮导航
  • 网站服务费做啥费用网站建设哪个公司做得好
  • 网站开发时如何兼容高端app定制开发
  • 荣县网站建设网站建设印花税税率
  • 药品在网站上做标签有哪些分类高新公司网站建设哪家好
  • 图片网站 代码通信建设工程项目经理查询网站
  • 做钓鱼网站怎么赚钱中装建设公司怎么样
  • 请问做网站怎么赚钱深圳好的高端企业网站建设公司
  • 建设工程质量管理条例网站深圳龙岗属于什么风险
  • 免费招工人在哪个网站济南网站设计
  • 做网站需提供什么资料北京中铁建设集团有限公司
  • 职业生涯规划网站开发背景华为官方手表网站
  • wordpress导航页面模板网络优化app
  • 东营市垦利区胜坨填建设站的网站代码编程入门先学什么
  • 高明网站制作网站站内文章互联
  • 男人和男人做爰漫画网站网站的设计思路怎么写
  • 在线做漫画的网站网站和ip建设
  • 山东 网站建设怎么免费做网站推广
  • 网页制作基础教程电子工业出版社seo外链
  • 高级网站开发工程师 证书优秀htm网站