.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 ]

Drone自动部署配置文件的更多相关文章

  1. 使用gogs,drone搭建自动部署

    使用gogs,drone搭建自动部署 使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台Docker是使用go开发的开源容器引擎D ...

  2. 记录使用gogs,drone搭建自动部署测试环境

    使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台 Docker是使用go开发的开源容器引擎 Drone是一个基于容器技术的持续集 ...

  3. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)

    前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...

  4. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  5. 使用Maven自动部署Java Web应用到Tomcat服务器

    学习如何使用Maven,我推荐一本工具书,<maven the definitive guide>.在这本工具书手中,详细介绍了maven的使用思想,并且提供了从基本到复杂的具体项目应用. ...

  6. 简进祥-SVN版本控制方案:多分支并行开发,多环境自动部署

    两地同时开发一个产品,目前线上有3个环境:测试环境.预发布环境.生产环境.目前系统部署采用jenkins自动化部署工具 用jenkins部署的方案 jenkins 测试环境:配置了各个分支的svn 地 ...

  7. myeclipse + tomcat 项目自动部署

    在MyEclipse中设置项目的自动部署需要综合考虑两个方面: 1是MyEclipse本身,通过主菜单中project->auto ,另一个就是tomcat配置文件.配置文件包括 conf 下的 ...

  8. maven自动部署到远程tomcat教程

    使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间. 本文章适用于tomcat的7.x ,8.x, 9.x版本. 下面是自动部的步骤 1,首先,配 ...

  9. svn版本控制方案:多分支并行开发,多环境自动部署

    背景 keywords:svn,trunk,branch,jenkins,maven,merge 两地同时开发一个产品,目前线上有3个环境:测试环境.预发布环境.生产环境.目前系统部署采用jenkin ...

  10. 做了一个简易的git 代码自动部署脚本

    做了一个简易的git 代码自动部署脚本 http://my.oschina.net/caomenglong/blog/472665 发表于2个月前(2015-06-30 21:08)   阅读(200 ...

随机推荐

  1. docker容器部署flask单页面应用

    本地安装docker,拉取centos镜像. docker pull centos:7 本地文件结构: /usr/local/var/tmp/docker_demo .app ---requireme ...

  2. WPF 文本逐字一个个出现的动画效果

    一.效果图: 二.前台代码: <Grid> <TextBlock Foreground="Transparent" x:Name="text" ...

  3. 11、java环形单链表解决约瑟夫问题

    环形单向链表:守卫连接的一个单向链表,每个节点中有其变量和一个指针指向下一个节点.头节点可有可无,此处写的没有头节点. 创建,先创建一个没有数据的first节点表示整个链表的第一个节点 添加,此处的添 ...

  4. temp_laijx_2023

    ############################ [{\"itemKey\": \"jenkinsConfig\",\"itemValue\& ...

  5. Neural Network模型复杂度之Residual Block - Python实现

    背景介绍 Neural Network之模型复杂度主要取决于优化参数个数与参数变化范围. 优化参数个数可手动调节, 参数变化范围可通过正则化技术加以限制. 本文从优化参数个数出发, 以Residual ...

  6. 活动 | Cloud Ace 受邀参加中国智造出海数字科技峰会

    [Cloud Ace 是谷歌云全球战略合作伙伴,拥有 200 多名工程师,也是谷歌最高级别合作伙伴,多次获得 Google Cloud 合作伙伴奖. 作为谷歌托管服务商,我们提供谷歌云.谷歌地图.谷歌 ...

  7. docker中搭建Ubuntu:16.04+python3.6+django环境

    用vim 新建一个Dockerfile和sources.list文件,在里面添加如下内容. #sources.list deb http://mirrors.163.com/ubuntu/ xenia ...

  8. vue打包添加时间戳,实现更新项目自动清除缓存

    本来vue打包会自动用chunkhash来解决缓存问题,但是部分浏览器不会自动更新,因此可以通过后面t=${ }的不同来实现自动重新加载文件,保持最新的界面 (1).webpack打包:修改build ...

  9. Xmind 8 pro 破解版详细安装教程

    写在前面的废话: 本来网上就有很多破解版的Xmind,也有安装教程,为什么我还要多此一举做这个教程呢? 因为实际安装后,使用起来总会有各种小瑕疵,最烦人的问题就是,xmind文件和软件无法关联,双击x ...

  10. vs找不到msvcp120d .dll,无法继续执行代码。重新安装可能会解决此问题。

    原文链接:https://blog.csdn.net/qq_24537165/article/details/90137317 环境:win10 vs2015 c++ opencv3.4.0 截图: ...