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

做减肥餐的网站免费标志在线设计

做减肥餐的网站,免费标志在线设计,产品开发流程建议,融通资源开发公司Jenkinsfile dsl文件:pipeline {// 指定任务在哪个集群节点执行agent any// 声明全局变量environment {keyvalueAPPLICATION_NAMEspringboot-demo // 项目名称HOST_PORT7777 // 宿主机暴露服务端口CONTAINER_PORT8080 // 容器内部服务端口…

 Jenkinsfile dsl文件:

pipeline {// 指定任务在哪个集群节点执行agent any// 声明全局变量environment {key='value'APPLICATION_NAME='springboot-demo'   // 项目名称HOST_PORT='7777'                     // 宿主机暴露服务端口CONTAINER_PORT='8080'                // 容器内部服务端口TOKEN='squ_9aa459d05021a8db7f95e9f0ea9ac9b00d8bdbfb'HARBOR_REPO='repo'HARBOR_ADDR='192.168.208.120:80'SONAR_ADDR='192.168.208.151:9000'JAVA_HOME='/usr/local/share/jdk-1.8.0'MAVEN_HOME='/usr/local/share/maven-3.9.6'}// 流水执行工序,每道工序又有多个小步骤stages {stage('git拉取代码'){steps{echo '=====================>  Git pulling code 'checkout scmGit(branches: [[name: '${branch_tag}']], extensions: [], userRemoteConfigs: [[credentialsId: 'de069ab5-cfa3-490f-9add-a1f79f641cc5', url: 'http://192.168.208.141/root/gitlab-project.git']])}}// ====================== 192.168.208.151 服务器上运行 ========================stage('maven编译打包'){steps{echo '=====================>  Maven building code'sh '''export PATH=${JAVA_HOME}/bin:${MAVEN_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin# 当前目录是/var/lib/jenkins/workspace/<jenkins任务名称>  (pipeline)cd ${APPLICATION_NAME}/mvn clean package -Dmaven.test.skip=true'''}}// ====================== 192.168.208.151 服务器上运行 ========================stage('sonar代码质检'){steps{echo '=====================>  Sonar starting scan'sh '''/usr/local/share/sonar-scanner-cli-7.1.0/bin/sonar-scanner \\-Dsonar.projectName=pipeline \\-Dsonar.projectKey=pipeline \\-Dsonar.sources=/var/lib/jenkins/workspace/pipeline/${APPLICATION_NAME}/target \\-Dsonar.host.url=http://${SONAR_ADDR} \\-Dsonar.login=${TOKEN}'''}}// ====================== 192.168.208.151 服务器上运行 ========================stage('docker构建镜像'){steps{echo '=====================>  Docker building image'sh '''# 镜像名称applicationName="${APPLICATION_NAME}"# 进入目录docker找到 Dockerfile文件cd ${APPLICATION_NAME}/docker/# 将jar包挪到docker目录下mv ../target/*.jar ./# 构建docker镜像docker build -t ${APPLICATION_NAME}:${branch_tag} .# 删除本地的悬空的镜像docker image prune -f'''}}stage('harbor制品入库'){steps{echo '=====================>  Docker push artifact to harbor'sh '''# 登录Harbor镜像仓库docker login -u admin -p 123456 ${HARBOR_ADDR}# 对构建好镜像进行打标签docker tag ${APPLICATION_NAME}:${branch_tag} ${HARBOR_ADDR}/repo/${APPLICATION_NAME}:${branch_tag}# 删除本地的悬空的镜像docker image prune -f# 推送Harbor镜像仓库docker push ${HARBOR_ADDR}/repo/${APPLICATION_NAME}:${branch_tag}# Harbor有自己的定时清理任务,清理无tag任务'''}}stage('SSH-publisher通知部署'){steps{echo '=====================>  SSH-publisher starting deploy'echo "HARBOR_ADDR = ${HARBOR_ADDR}"echo "HARBOR_REPO = ${HARBOR_REPO}"echo "APPLICATION_NAME = ${APPLICATION_NAME}"echo "branch_tag = ${branch_tag}"echo "HOST_PORT = ${HOST_PORT}"echo "CONTAINER_PORT = ${CONTAINER_PORT}"// 注意! 这里的 execCommand 后面要使用""" 而不是 '''sshPublisher(publishers: [sshPublisherDesc(configName: 'app-server', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: """/usr/bin/deploy.sh ${HARBOR_ADDR} ${HARBOR_REPO} ${APPLICATION_NAME} ${branch_tag} ${HOST_PORT} ${CONTAINER_PORT}""", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])}}}// 调用钉钉的 webhook 接口将部署信息发布到工作群post {success {dingtalk(robot: 'Jenkins-dd',type: 'MARKDOWN',title: "success: ${APPLICATION_NAME}",text: ["- 构建成功: ${APPLICATION_NAME} \n- 版本: ${branch_tag} \n- 持续时间: ${currentBuild.durationString}"])}failure {dingtalk(robot: 'Jenkins-dd',type: 'MARKDOWN',title: "success: ${APPLICATION_NAME}",text: ["- 构建失败: ${APPLICATION_NAME} \n- 版本: ${branch_tag} \n- 持续时间: ${currentBuild.durationString}"])}}}

目标服务器部署脚本:

 

[root@localhost ~]# cat deploy.sh
#!/bin/bash# ===============================================================================
# Author: ldj
# Date: 2025-07-08 15:37:11
# Description: 首先删除旧的容器和镜像,然后登录到 Harbor 并拉取最新的镜像进行部署
# ===============================================================================# 显示每条命令执行情况,便于调试
set -xharbor_addr=$1
harbor_repo=$2
project_name=$3
version=$4
host_port=$5
container_port=$6image_name=${harbor_addr}/${harbor_repo}/${project_name}:${version}echo "镜像名称:${image_name}"# 删除旧容器
container_id=$(docker ps -aq --filter name=${project_name})
if [ -n "${container_id}" ]; thendocker stop ${container_id}docker rm ${container_id}echo "已停止并删除容器: ${container_id}"
fi# 删除本地旧镜像
old_version=$(docker images | grep ${project_name} | awk '{print $2}')if [ "${old_version}" == "${version}" ]; thendocker rmi -f ${old_images}echo "已删除本地旧镜像"
fi# 登录Harbor
docker login -u admin -p 123456 ${harbor_addr} || { echo '登录Harbor失败'; exit 1; }# 拉取新镜像
echo "开始拉取新镜像"
docker pull ${image_name} || { echo "拉取新镜像失败"; exit 1; }# 运行新容器
docker run -d -p ${host_port}:${container_port} --name ${project_name} ${image_name}echo ${project_name} '成功运行!'# 删除悬空镜像
docker image prune -f

http://www.dtcms.com/a/455448.html

相关文章:

  • 江苏工信部网站备案查询自己做彩票网站合法吗
  • 网站建设 三网动力启航做网站
  • 网站服务器用什么配置东莞网站建设制作价格
  • 单位网站备案流程app手机应用软件开发
  • 南县网站开发手机做网站的教程
  • 京东客网站怎么做宁波seo怎么做优化公司
  • @ComponentScan组件扫描原理(二)
  • linux网络服务+linux数据库4
  • 做网站的代码难吗wordpress弹窗视频播放插件
  • 网站网址更新了怎么查镇江网站制作服务
  • 智能硬件开发流程网站优化要怎么做
  • 谁做视频网站上海网站备案中心
  • 打工人日报#20251007
  • 如何做律所网站做义工旅行有哪些网站
  • 贵阳网站建设宏思锐达银川市住房和城乡建设局网站公告
  • 连云港市建设局网站安全员考试广州网站建设支付
  • 网站粘度计算公式微信小程序制作网站
  • 有哪些做短租的网站好龙岗区住房和建设局网站打不开
  • 宝塔面板建设网站安徽人
  • 宁波制作网站企业二级域名做外贸网站好吗
  • 外卖网站的建设与推广织梦和wordpress哪个seo好
  • 专业做足球体彩网站网站备案应该怎么做
  • 什么网站可以做时间加减微信 公众号导入wordpress
  • 内江做网站哪里便宜美容院顾客管理系统软件
  • 培训网站官网企业账号登录入口
  • jq效果较多的网站世界工厂网app
  • php 手机网站乐陵seo公司
  • 上海网站制作机构西安复工无需核酸检测
  • 单页淘宝客网站2014年行吗一二三四视频社区5在线高清
  • 网站主页的要素郑州专业公司网站制作公司