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'
posted on 2019-07-05 14:24 coding-now 阅读(101) 评论(0) 编辑 收藏 举报