zoukankan      html  css  js  c++  java
  • DevOps之docker自动化部署-docker任务插件开发

    为了简化各个业务系统 build.gradle添加大量重复性docker-task,特编写插件,生成单一jar文件。
    简化各个项目的接入过程。
    整个Devops项目架构
    在这里插入图片描述
    开发过程中,参考了以下项目:
    docker-build-task插件开发参考

    插件源码,如有需要了解,可评论联系。

    build.gradle配置如下:

    buildscript {
        repositories {
            maven { url "http://...:8081/repository/maven-snapshots/" }
            maven { url "http://...:8081/repository/aliyun/" }
            mavenCentral()
        }
        dependencies {
            classpath "com.bmuschko:gradle-docker-plugin:3.2.1"
        }
    }
    version '1.0.4-SNAPSHOT'
    
    //apply plugin: 'com.bmuschko.docker-java-application'
    apply plugin: 'com.bmuschko.docker-remote-api'
    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'groovy'
    apply plugin: 'java-gradle-plugin'
    
    dependencies {
        compile gradleApi()
        compile localGroovy()
        /*compile 'org.codehaus.groovy:groovy-all:2.3.11'*/
        compile group: 'org.gradle', name: 'gradle-tooling-api', version: '2.13'
        compile('com.bmuschko:gradle-docker-plugin:3.2.1')
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }
    uploadArchives {
        repositories {
            mavenDeployer {
                //userName  和 password 为maven的用户名和密码
                //http://...:8081/repository/maven-snapshots/
                repository(url: "http://...:8081/repository/maven-snapshots/") {
                    authentication(userName: "admin", password: "admin123")
                }
                pom.project {
                    groupId="com.anji.devops"
                    artifactId="docker-plugin"
                    name=project.name
                    version=project.version
                    //version="1.0.0"
                    packaging='jar'
                    description='docker-plugin'
                }
            }
        }
    }
    artifacts {
        archives jar
    }
    

    插件开发完成后,接入方引用插件jar即可集成docker-build相关task.

    apply plugin: 'com.anji.devops.docker-plugin'
    

    jar上传maven仓库,参考
    gradle插件开发参考

  • 相关阅读:
    【Java】组合 继承 代理
    《Thinking In Java》笔记之十三章 字符串
    常用Dos命令
    Thinking in Java异常笔记与习题
    php去重 逗号分隔的字符串
    php 连接本地数据库
    vue重载子组件
    小程序更改checked样式
    JavaScript中两个数组的拼接
    FROM_UNIXTIME()时间戳转换函数
  • 原文地址:https://www.cnblogs.com/coding-now/p/14660602.html
Copyright © 2011-2022 走看看