• 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
  • 相关阅读:
    随机数、无重复、冒泡排序
    今天是星期几
    Button
    2012/8/5为应用指定多个配置文件
    2012/8/4解决JSP显示中文乱码
    2012/8/4 struts2学习笔记
    2012/8/4Action中result的各种转发类型
    2012/8/4为Action属性注入值
    2012/8/3SVN小入门
    2012/8/3 Extjs使用TabPanel时需要注意的问题
  • 原文地址:https://www.cnblogs.com/huay/p/13751850.html
Copyright © 2020-2023  润新知