zoukankan      html  css  js  c++  java
  • drone 脚本

    部署go项目脚本

    kind: pipeline
    name: default
    
    steps:
    
      - name: build
        image: golang:latest
        environment:
          GOPROXY: https://goproxy.cn,direct
        commands:
          - pwd
          - go version
          - go get -u github.com/swaggo/swag/cmd/swag
          - swag init
          - CGO_ENABLED=0 go build -o main
          - echo "build project success"
        when:
          event: push
          branch: [ develop,master ]
    
      # 定制镜像,镜像发布
      - name: structure
        image: plugins/docker
        settings:
          dockerfile: Dockerfile
          registry: registry.cn-hangzhou.aliyuncs.com
          repo: registry.cn-hangzhou.aliyuncs.com/yiui/shoptool
          username: username
          password: 123456
          tags:
            - 'latest'
          insecure: true
        volumes:
          - name: docker
            path: /var/run/docker.sock
    
      # 启动容器
    #  - name: rancher-deploy
    #    image: pelotech/drone-rancher  # drone-rancher插件,利用此插件来启动rancher
    #    settings:
    #      url: 'rancher-server:port'
    #      access_key: username
    #      secret_key: 123456
    #      service: yiui/shoptool
    #      docker_image: registry.cn-hangzhou.aliyuncs.com/yiui/shoptool:latest # 镜像地址及版本号
    #      start_first: false
    #      confirm: true
    #      timeout: 305
    #      volumes:
    #        - name: docker
    #          host:
    #            path: /var/run/docker.sock
    #      when:
    #        branch: master
    
    
    
            #开发环境
      - name: dev scp files
        image: appleboy/drone-scp
        settings:
          host: 192.168.10.163
          username: dever
          password: dever
          port: 22
          target: /www/shop
          source:
            - main
            - config
            - shell_restart.sh
          script:
            - echo "copy file success"
        when:
          event: push
          branch: develop
    
      #部署正式环境
      - name: prod scp files
        image: appleboy/drone-scp
        settings:
          host: 192.168.10.202
          username: dever
          password: dever
          port: 22
          target: /www/shop
          source:
            - main
            - config
            - docker_restart.sh
            - Dockerfile
          script:
            - echo "copy file success"
        when:
          event: push
          branch: master
    
    
      #测试环境
      - name: dev ssh commands
        image: appleboy/drone-ssh
        settings:
          host: 192.168.10.163
          username: dever
          password: dever
          port: 22
          script_stop: true
          command_timeout: 5m
          script:
            - pwd
            - cd /www/shop
            - pwd
            - ls -al
            - chmod +x shell_restart.sh
            - ./shell_restart.sh 9999
        when:
          event: push
          branch: develop
    
      #正式环境
      - name: prod ssh commands
        image: appleboy/drone-ssh
        settings:
          host: 192.168.10.202
          username: dever
          password: dever
          port: 22
          script_stop: true
          command_timeout: 3m
          script:
            - pwd
            - cd /www/shop
            - chmod +x docker_restart.sh
            #端口,镜像 容器
            - ./docker_restart.sh 9999:9999  yiui/shop shop
            - echo "everything is fine "
        when:
          event: push
          branch: master
    
    
      #钉钉通知
      - name: dingtalk
        image: lddsb/drone-dingtalk-message
        settings:
          token: 59f6e8e74531f44db1a30e55ec01cb2908dc2afb19071db65
          type: markdown
          message_color: true
          message_pic: true
          sha_link: true
          secret: SEC78a04ba07c1009467a756186f4229b217aa8e6333769cecafd09d14bb4509
        when: #执行条件
          status:
            #        - success
            - changed
            - failure
    branches: [ develop,master ]
    View Code
  • 相关阅读:
    VPS服务器 基本配置
    WCF 系列 → HelloWord
    ASP.NET MVC3 常用整理
    ASP.NET MVC3 过滤器 Filter
    NVelocity系列 → NVelocity配置详解
    网站安全检测 Web 安全测试工具
    ASP.NET MVC3.0 静态化实现
    CSS3的动画泡沫按钮
    SQL 大数据优化
    用友备份失败,超时己过期
  • 原文地址:https://www.cnblogs.com/huay/p/13751850.html
Copyright © 2011-2022 走看看