美文网首页
Drone多环境部署

Drone多环境部署

作者: fanxcv | 来源:发表于2022-07-21 11:17 被阅读0次

Drone是一个简单易用的CI/CD工具, 由于我这儿使用Gogs管理代码, 搭配使用, 真心舒服
但是在使用中发现一个小问题, yaml配置文件只能将代码部署到某一个环境下, 无法区分分支部署到测试或者预发环境, 研究半天文档无果, Google也无果
后面只有尝试更换配置文件类型, 使用Starlark解决了问题

star配置文件使用python语法编写配置, 支持变量, 逻辑判断

附上我的配置, 希望对有相同需求的人提供一定的帮助

def main(ctx):
  param = {
    "host": "127.0.0.1",
    "user": "root",
    "key": "mac",
    "env": "test"
  }
  if ctx.build.branch == 'master':
    param = {
      "host": "127.0.0.2",
      "user": "root",
      "key": "mac",
      "env": "pro"
    }
  return [
    build(ctx, param)
  ]


def build(ctx, param):
  return {
    "kind": "pipeline",
    "type": "docker",
    "name": "build",
    "steps": [
      {
        "name": "maven compile",
        "image": "maven:3-jdk-8-slim",
        "commands": [
          "/usr/share/maven/bin/mvn -DskipTests=true clean package -f pom.xml -P %s -T `cat /proc/cpuinfo | grep \"processor\" | wc -l`" % param["env"]
        ],
        "volumes": [
          {"name": "m2-cache", "path": "/root/.m2"},
          {"name": "settings", "path": "/usr/share/maven/conf/settings.xml"}
        ]
      }
    ],
    "volumes": [
      {
        "name": "m2-cache",
        "host": {"path": "/opt/drone/maven/cache"}
      },
      {
        "name": "settings",
        "host": {"path": "/opt/drone/maven/settings.xml"}
      }
    ]
  }

相关文章

  • Drone多环境部署

    Drone是一个简单易用的CI/CD工具, 由于我这儿使用Gogs管理代码, 搭配使用, 真心舒服但是在使用中发现...

  • 2020-06-18

    今天在k8s部署了下Drone,打算用gitlab和Drone搭建流水线,为了简单验证,部署环境使用的Ranche...

  • docker部署drone

    drone部署 下载镜像 生成共享密钥 使用openssl生成密钥 运行drone 运行runner 在部署了dr...

  • k8s的咖啡伴侣 -- 自动化部署工具Drone

    刚开始打算用Jenkins+shell 部署镜像到K8S,无意间看到网上推荐的drone,用了之后觉得drone和...

  • Drone 部署使用

    drone 部署使用 背景 原来都是各自部署各自的,但是现在多了一个内网的部署,内网部署比较麻烦,而且同时只能一个...

  • CI/CD初探 (Drone+Docker)

    将使用 docker + docker compose + drone + git 实现项目自动部署 使用dock...

  • CI/CD初探(docker+drone)

    将使用 docker + docker compose + drone + git 实现项目自动部署 使用dock...

  • Maven 项目使用 Drone 实现 CI/CD

    源码springboot-drone-demo docker版本 drone:1.6.5 drone-runner...

  • SwitchHosts——管理hosts

    Web程序开发时,经常要部署有多套环境(开发环境、测试环境、预发布环境、生产环境),域名都相同,部署在不同的服务器...

  • Drone与GitLab结合实现自动化部署

    Drone与gitlab结合实现自动化部署 GitLab设置 在gitlab中注册一个账号,此账号用来对接dron...

网友评论

      本文标题:Drone多环境部署

      本文链接:https://www.haomeiwen.com/subject/fjeuirtx.html