java调用Jenkins接口api
来源:互联网 发布:阿里云的意义 编辑:程序博客网 时间:2024/05/19 06:19
一直听说jenkins是自动发布部署的工具,一直没有尝试过!不知道怎么用使用,今天就自己尝试了一把!使用jenkins就萌生了自己想用java代码直接调用,创建job,然后build,这样的话,如果自己想搭建自动化构建平台也很方便啊!废话就不多不说了,直接上代码!
package com.jenkins;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import com.offbytwo.jenkins.JenkinsServer;
/**
* @author zhangjinyang
*
*/
public class App {
static String url = "http://localhost:8080/jenkins";
static JenkinsServer server;
static StringBuilder build = new StringBuilder();
static String name = "admin";
static String password = "admin";
static {
try {
server = new JenkinsServer(new URI(url), name, password);
InputStream in = App.class.getResourceAsStream("config.xml");
InputStreamReader read = new InputStreamReader(in);
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
build.append(lineTxt);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String jobName = "test-job-" + UUID.randomUUID().toString();
try {
//创建job
server.createJob(jobName, build.toString(), false);
//自定义属性
Map<String, String> map = new HashMap<String, String>();
map.put("qq", "11111111");
//开始build
server.getJob(jobName).build(map);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
对了,还有一个config.xml模板,如果自己做自动发布平台的话,模板就用freemarker自己生成自己想要的!目前我这边只是做测试!具体的还需要你们自己写!
config.xml
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<hudson.model.StringParameterDefinition>
<name>qq</name>
<description>qqq</description>
<defaultValue>qqq</defaultValue>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
<scm class="hudson.plugins.git.GitSCM" plugin="git@3.3.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<url>https://github.com/bingyue/easy-springmvc-maven.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<submoduleCfg class="list"/>
<extensions/>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>
echo "hello world!";
M3_HOME=/Users/admin/Documents/tool/maven
PATH=$PATH:$M3_HOME/bin
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
export M3_HOME;
export PATH;
export JAVA_HOME;
echo ${qq};
mvn clean install -U;
</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>
- java调用Jenkins接口api
- jenkins api 接口json 调用
- jenkins api接口调用,触发工程
- java web api接口调用
- 《Java 本地接口规范》- 调用 API
- java调用小i机器人接口API
- JAVA模拟浏览器调用rest api接口
- JAVA调用聚合天气api接口示例
- java API接口文档方法调用
- MongoDB认证&Java API接口调用
- java中怎么调用api数据接口
- Java 远程调用有道api接口实例
- delphi调用java的api接口
- Java实现Web Api接口远程调用
- jenkins API调用错误集
- python的Jenkins接口调用
- JAVA 快递查询接口API调用-快递鸟接口
- 关于接口api调用
- 除法的取模
- ASP.NET Web Pages – 添加 Razor 代码
- LintCode之回文数
- es 自动补全 和 纠错 (有问题,需要大家帮忙实现)
- 红红火火恍恍惚惚
- java调用Jenkins接口api
- hdu1495(bfs)
- SELU︱在keras、tensorflow中使用SELU激活函数
- STL deque
- CF 834B-The Festive Evening
- src与href的区别
- python+uiautomator环境搭建
- 浏览网页时谷歌一直提示“Adobe Flash Player 插件已被屏蔽”
- 如何由一个项目跳到另一个项目