Skip to content

open-ruic/baidu-cloud-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Baidu 云服务Gradle 插件


Apache License

基于Gradle 开发的便于开发基于Baidu云服务的程序,插件采用Gradle Rule Base Model 形式开发

Baidu 云服务Gradle 插件支持 发布文件到OSS 和创建百度Hadoop集群并执行 Map-Reduce程序

使用示例代码:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.org.rapid.develop:baidu-cloud-plugin:1.1"
  }
}

apply plugin: "org.rapid.develop.baidu-cloud-plugin"

model {
    baidu {
        accessKey = 'accessKey'
        secretKey = 'secretKey'
        // OSS 上传设置
        // 上传 文件到指定的bucketName
        ossPublish {
            bucketName = 'bucketName'
            files = [jar.archivePath, new File('../logs/accesslog-10k.log')]
        }
        // MapReduce 设置
        // 可创建Baidu Hadoop集群,并添加应用,并执行任务
        // 可执行多个任务
        mapReduce {
            name = project.name
            imageType = 'hadoop'
            imageVersion = '0.1.0'
            autoTerminate = false
            logUri = "bos://$bucketName/logs/"
            master {
                instanceType = 'g.small'
                instanceCount = 1
            }
            slaves.create {
                instanceType = 'g.small'
                instanceCount = 2
            }
            steps.create {
                name = "$project.name-$project.version"
                actionOnFailure = 'Continue'
                mainClass = 'com.vianet.cie.hadoop.AccessLogAnalyzer'
                jar = "bos://$bucketName/$project.group/$project.version/$project.name-${project.version}.jar"
                arguments = "bos://$bucketName/$project.group/$project.version/accesslog-10k.log bos://$bucketName/out"
            }
        }
    }
}