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

如何开发网站平台入门网站建设

如何开发网站平台,入门网站建设,关于网站开发相关法律条款,西宁大型网站建设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.dnsts.com.cn/news/241215.html

相关文章:

  • 网站 空间 服务器 免费网站怎么吸引用户
  • aspnet网站开发选择题服务号与wordpress
  • 北京手机网站开发女生学网络营销这个专业好吗
  • 用jsp做网站浙江网站建设 seo
  • 网站建设人力资源分配普陀区网站建设公司
  • 阿里巴巴如何建设网站临清做网站推广
  • wordpress直播接入seo关键词优化服务
  • 南坪做网站杭州做网站的好公司哪家好
  • 北京网站建设兴田德润官网多少网站项目策划方案
  • 用网站做自我介绍自己php购物网站开发成品
  • 响应式网站手机端尺寸企业网站建设存在的典型问题有哪些?
  • 杭州知名网站建设公司深圳龙华新区住房和建设局网站
  • 怎样下载模板做网站企业管理咨询管理公司在哪
  • 在百度备案网站网新企业网站管理系统 破解
  • access做网站做好网站建设通知
  • 公司网站突然404电脑编程培训班学费
  • 如何开发网站平台网站百度知道怎么做推广
  • 做淘宝的网站有哪些内容a站app
  • 百度文库 旅游网站建设方案书wordpress 耗时
  • linux服务器怎么做网站企业简介范文
  • 淡蓝黑色大气企业网站模板宁波网站建设公司在哪里
  • 手机图片网站 模版网站怎么更改布局
  • 网站建设托管推广海报大型商城网站建设方案
  • 中国建设招标网 官方网站下载扁平网站配色
  • 网站导航条怎么做效果怎么用电脑做网站
  • 临夏网站建设装饰公司网站源码下载
  • 做网站 什么主题较好做mod游戏下载网站
  • 各种网站底部图标代码好网站建设公司开发
  • 东平网站制作哪家好wordpress滑块验证码
  • 常平网站建设公司建设银行网站不能登录不了