首页 > 其他分享 >Drone自动部署配置文件

Drone自动部署配置文件

时间:2022-12-09 13:00:39浏览次数:53  
标签:web 配置文件 mxy 部署 system echo admin Drone local

.drone.yml

点击查看代码
kind: pipeline # 定义对象类型,还有secret和signature两种类型
type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
name: build # 定义流水线名称

volumes: # 定义流水线挂载目录,用于共享数据
  - name: maven-build
    host:
      path: /usr/local/nginx/admin-system   #jar包目录可以修改从宿主机中挂载的目录
  - name: node_modules # 数据卷名称
    host: # Host Volume
      path: /usr/local/nginx/admin-system/admin/node_modules # 宿主机目录    #绝对路径

steps: # 定义流水线执行步骤,这些步骤将顺序执行
  # admin_web-build
  - name: web-build
    image: node:14
    volumes: # 挂载数据卷(此为容器内的目录)
      - name: node_modules # 数据卷名称
        path: /drone/src/mxy_ui/mxy_admin_web/node_modules # 容器内目录 绝对路径
    commands:
      - echo =======开始->构建admin-web包=======
      - pwd
      - cd /drone/src/mxy_ui/mxy_admin_web
      - rm -rf package-lock.json
      - npm config set registry https://registry.npm.taobao.org
      - npm install
      - npm run build
      - echo =======开始构建blog-web包=======
      - cd /drone/src/mxy_ui/mxy_blog_web
      - rm -rf package-lock.json
      - npm config set registry https://registry.npm.taobao.org
      - npm install
      - npm run build

      - echo =======结束->构建admin-web包=======
  # admin_system-package
  - name: jar-build # 流水线名称
    image: maven:3.8.5-openjdk-8 # 定义创建容器的Docker镜像
    volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
      - name: maven-build
        path: /usr/local/nginx/admin-system # 将应用打包好的Jar和执行脚本挂载出来
    commands:
      - echo =======1.开始->构建admin-system.jar包=======
      - mvn clean package -DskipTests=true
      - echo =======1.1.拷贝打包后的jar包到挂载目录=======
      - cp /drone/src/mxy_business/mxy_system/target/mxy_system-0.0.1-SNAPSHOT.jar  /usr/local/nginx/admin-system
      - echo =======1.2.拷贝Dockerfile到挂载目录=======
      - cp /drone/src/mxy_business/mxy_system/target/classes/Dockerfile /usr/local/nginx/admin-system
      - echo =======1.3.拷贝service启动脚本到挂载目录=======
      - cp /drone/src/mxy_business/mxy_system/target/classes/service.sh /usr/local/nginx/admin-system
      - echo =======结束->构建admin-system.jar包=======
      - echo =======2.开始->拷贝admin-web包=======
      - echo =======2.1.备份原blog-web=======
      - cp -r /usr/local/nginx/admin-system/blog/dist /usr/local/nginx/admin-system/blog/backup
      - echo =======2.2.删除原blog-web=======
      - rm -rf /usr/local/nginx/admin-system/blog/dist
      - echo =======2.3.拷贝新blog-web=======
      - cp -r /drone/src/mxy_ui/mxy_blog_web/dist /usr/local/nginx/admin-system/blog
      - echo =======结束->拷贝admin-web包=======
      - echo =======3.开始->拷贝blog-web包=======
      - echo =======3.1.备份原admin-web=======
      - cp -r /usr/local/nginx/admin-system/admin/dist /usr/local/nginx/admin-system/admin/backup
      - echo =======3.2.删除原admin-web=======
      - rm -rf /usr/local/nginx/admin-system/admin/dist
      - echo =======3.3.拷贝新admin-web=======
      - cp -r /drone/src/mxy_ui/mxy_admin_web/dist /usr/local/nginx/admin-system/admin
      - echo =======结束->拷贝blog-web包=======

---

kind: pipeline # 定义对象类型,还有secret和signature两种类型
type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
name: 部署 # 定义流水线名称

depends_on: # 依赖build管道
  - build

clone:
  disable: true # 禁用拉取

steps: # 定义流水线执行步骤,这些步骤将顺序执行
  - name: ssh-start
    image: appleboy/drone-ssh
    settings:
      # 你服务器ip地址,124.221.**.**
      host:
        from_secret: TEST_SERVER_IP
      # 服务器账号
      username: root
      # 密码登入,M?Y@m^y******
      password:
        from_secret: TEST_SERVER_PASSWORD
      port: 22
      script:
        - echo =======开始部署=======
        - cd /usr/local/nginx/admin-system
        - echo =======停止容器=======
#        - docker stop mxy-system
        - echo =======删除容器=======
#        - docker rm mxy-system
        - echo =======删除旧镜像=======
        - docker rmi -f mxy-system:latest
        - echo =======构建新镜像=======
        - docker build -t mxy-system:latest .
        - echo =======启动新容器=======
        - docker run -p 8001:8001 -d mxy-system:latest
        - echo =======停止服务=======
        - ./service.sh stop
        - echo =======启动服务=======
        - ./service.sh start
        - echo =======查看镜像列表=======
        - docker images
        - echo =======部署成功=======

  - name: email
    image: drillster/drone-email
    settings:
      host: smtp.qq.com
      username: xxxx@qq.com
      password: cdog********
      from: xxxx@qq.com
      recipients: [ 2533xxxx@qq.com ]

标签:web,配置文件,mxy,部署,system,echo,admin,Drone,local
From: https://www.cnblogs.com/xu-m/p/16968640.html

相关文章

  • 二进制部署高可用k8s集群
    一、k8s高可用架构解析etcd是键值数据库用来存储集群信息apiserver是集群的整个控制中心,所有的流量都会经过他ControllerManager控制器,监控整个集群的状态Scheduler调......
  • springmvc案例(依赖,插件、配置文件、controller层、jsp页面展示)
    第一步:创建一个maven的web工程第二步:进行导入依赖(spring的依赖应该也需要)<!--mvc的依赖--><dependency><groupId>org.springframework</groupId><artifac......
  • springcloud部署启动报错Server check fail, please check server 192.168.41.61 ,por
    这两天部署一个新的若依springcloud系统,nacos安装启动没有问题,但是jar包启动的时候一直报错Servercheckfail,pleasecheckserver192.168.41.61,port9848isavailab......
  • 如何将传统 Web 框架迁移部署到 Serverless 架构?
    与其说Serverless架构是一个新的概念,不如说它是一种全新的思路,一种新的编程范式。但是原生的Serverless开发框架却非常少。以Web框架为例,目前主流的Web框架“均不支持Se......
  • 一键部署MySQL8+keepalived双主热备高可用
    概述本次的文章会格外的长,网上大多的配置流程已经不可使用,本篇文章可以称为保姆级教程,而且通过shell脚本大大减少了部署mysql主从,双主的工作量。如上图,VIP地址为192.168......
  • Springcloud不能识别bootstrap配置文件
    方法一:引用spring-cloud-starter-bootstrap包(推荐)<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</ar......
  • HCIP-进阶实验05-Eth-Trunk配置部署
    HCIP-进阶实验06-Eth-Trunk配置部署1实验需求1.1实验拓扑1.2实验环境说明无1.3实验需求本实验共采用3台三层交换机、1台路由器。认真分析实验需求,明确每步考查......
  • 前端多环境部署
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • k8s 1.19.11 Ingress-nginx 的部署
    官网地址:https://kubernetes.github.io/ingress-nginx/github:https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx参考文档:使用ingress......
  • 安装单机部署TiDB
    1、下载并安装TiUPcurl--proto'=https'--tlsv1.2-sSfhttps://tiup-mirrors.pingcap.com/install.sh|sh2、声明全局环境变量注意看第一步执行完的内容,页面的......