本文整理汇总了Java中hudson.model.Hudson类的典型用法代码示例。如果您正苦于以下问题:Java Hudson类的具体用法?Java Hudson怎么用?Java Hudson使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Hudson类属于hudson.model包,在下文中一共展示了Hudson类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doParamsSubmit
import hudson.model.Hudson; //导入依赖的package包/类
public void doParamsSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
List<BuildTargetParameter> buildTargetParams;
TargetParameterBuildAction paramAction;
JSONObject jsonObject;
TargetBuildParameterUtil buildParamUtil = new TargetBuildParameterUtil();
jsonObject = req.getSubmittedForm();
buildTargetParams = buildParamUtil.parse(jsonObject);
if (buildTargetParams == null) {
rsp.sendRedirect(400, "Invalid Parameters - All Fields must be filed");
return;
} else {
paramAction = new TargetParameterBuildAction();
paramAction.setBaseBranch(jsonObject.getString("baseBranch"));
paramAction.setParameters(buildTargetParams);
Hudson.getInstance().getQueue().schedule2(project, 0, paramAction, new CauseAction(new Cause.UserIdCause()));
}
rsp.sendRedirect("../");
}
示例2: newInstance
import hudson.model.Hudson; //导入依赖的package包/类
@Override
public Node newInstance(StaplerRequest req, JSONObject formData) throws FormException {
EC2OndemandSlave ec2AbstractSlave = (EC2OndemandSlave) super.newInstance(req, formData);
if (!ec2AbstractSlave.isAlive(true)) {
LOGGER.info("EC2 instance terminated externally: " + ec2AbstractSlave.getInstanceId());
try {
Hudson.getInstance().removeNode(ec2AbstractSlave);
} catch (IOException ioe) {
LOGGER.log(Level.WARNING, "Attempt to reconfigure EC2 instance which has been externally terminated: " + ec2AbstractSlave.getInstanceId(), ioe);
}
return null;
}
return ec2AbstractSlave;
}
示例3: execute
import hudson.model.Hudson; //导入依赖的package包/类
@Override
protected void execute(TaskListener listener) throws IOException, InterruptedException {
for (Node node : Hudson.getInstance().getNodes()) {
if (node instanceof EC2AbstractSlave) {
final EC2AbstractSlave ec2Slave = (EC2AbstractSlave) node;
try {
if (!ec2Slave.isAlive(true)) {
LOGGER.info("EC2 instance is dead: " + ec2Slave.getInstanceId());
ec2Slave.terminate();
}
} catch (AmazonClientException e) {
LOGGER.info("EC2 instance is dead and failed to terminate: " + ec2Slave.getInstanceId());
removeNode(ec2Slave);
}
}
}
}
示例4: doProvision
import hudson.model.Hudson; //导入依赖的package包/类
public HttpResponse doProvision(@QueryParameter String template) throws ServletException, IOException {
checkPermission(PROVISION);
if (template == null) {
throw HttpResponses.error(SC_BAD_REQUEST, "The 'template' query parameter is missing");
}
SlaveTemplate t = getTemplate(template);
if (t == null) {
throw HttpResponses.error(SC_BAD_REQUEST, "No such template: " + template);
}
StringWriter sw = new StringWriter();
StreamTaskListener listener = new StreamTaskListener(sw);
try {
EC2AbstractSlave node = t.provision(listener);
Hudson.getInstance().addNode(node);
return HttpResponses.redirectViaContextPath("/computer/" + node.getNodeName());
} catch (AmazonClientException e) {
throw HttpResponses.error(SC_INTERNAL_SERVER_ERROR, e);
}
}
示例5: doRun
import hudson.model.Hudson; //导入依赖的package包/类
@Override
protected void doRun() {
ZFSFileSystem fs=null;
try {
if(isInsideEC2())
fs = new LibZFS().getFileSystemByMountPoint(Hudson.getInstance().getRootDir());
} catch (LinkageError e) {
// probably not running on OpenSolaris
}
if(fs==null) {
cancel();
return;
}
ZFSPool pool = fs.getPool();
long a = pool.getAvailableSize();
long t = pool.getSize();
// if the disk is 90% filled up and the available space is less than 1GB,
// notify the user
ZPoolExpandNotice zen = AdministrativeMonitor.all().get(ZPoolExpandNotice.class);
zen.activated = t/a>10 && a<1000L*1000*1000;
}
示例6: doCheckCloudName
import hudson.model.Hudson; //导入依赖的package包/类
public FormValidation doCheckCloudName(@QueryParameter String value) {
try {
Hudson.checkGoodName(value);
} catch (Failure e){
return FormValidation.error(e.getMessage());
}
String cloudId = createCloudId(value);
int found = 0;
for (Cloud c : Hudson.getInstance().clouds) {
if (c.name.equals(cloudId)) {
found++;
}
}
if (found>1) {
return FormValidation.error(Messages.AmazonEC2Cloud_NonUniqName());
}
return FormValidation.ok();
}
示例7: isOneClickDeployValid
import hudson.model.Hudson; //导入依赖的package包/类
/**
* Returns {@code true} if and only if a one click deployment is valid. In other words
* {@link #isOneClickDeployPossible()} says there are artifacts for deployment. {@link #isOneClickDeployValid()}
* says the configured one click deploy is fully defined and {@link #isOneClickDeploy()} says that the user
* has enabled one click deploy for the project.
*
* @return {@code true} if and only if a one click deployment is valid.
*/
@SuppressWarnings("unused") // used by stapler
@Exported(name = "oneClickDeployValid", visibility = 2)
public boolean isOneClickDeployValid() {
if (owner != null && owner.hasPermission(DEPLOY)) {
DeployNowJobProperty property = owner.getProperty(DeployNowJobProperty.class);
if (property != null) {
if (property.isOneClickDeploy()) {
if (owner.hasPermission(OWN_AUTH) && DeployHost.isValid(property.getHosts(), owner,
Hudson.getAuthentication())) {
return true;
}
if (owner.hasPermission(JOB_AUTH) && DeployHost.isValid(property.getHosts(), owner,
ACL.SYSTEM)) {
return true;
}
}
}
}
return false;
}
示例8: getDeploySourceDescriptors
import hudson.model.Hudson; //导入依赖的package包/类
/**
* Returns the {@link DeploySourceDescriptor}s that are valid for the specific context.
*
* @param origins the valid origins.
* @param jobType the project type.
* @return the {@link DeploySourceDescriptor}s that are valid for the specific context.
*/
@SuppressWarnings("unused") // used by stapler
@NonNull
public List<DeploySourceDescriptor> getDeploySourceDescriptors(@CheckForNull Set<DeploySourceOrigin> origins,
@CheckForNull Class<? extends AbstractProject>
jobType) {
List<DeploySourceDescriptor> result = new ArrayList<DeploySourceDescriptor>();
if (origins != null) {
for (Descriptor<DeploySource> d : Hudson.getInstance().getDescriptorList(DeploySource.class)) {
if (d instanceof DeploySourceDescriptor) {
DeploySourceDescriptor descriptor = (DeploySourceDescriptor) d;
for (DeploySourceOrigin source : origins) {
if (descriptor.isSupported(source) && descriptor.isApplicable(jobType)) {
if ((isFileTarget() && descriptor.isFileSource())
|| (isDirectoryTarget() && descriptor.isDirectorySource())) {
result.add(descriptor);
}
break;
}
}
}
}
}
return result;
}
示例9: isOneClickDeployValid
import hudson.model.Hudson; //导入依赖的package包/类
@Exported(name = "oneClickDeployValid", visibility = 2)
public boolean isOneClickDeployValid() {
if (owner != null && owner.getParent().hasPermission(DEPLOY)) {
DeployNowJobProperty property = owner.getParent().getProperty(DeployNowJobProperty.class);
if (property != null) {
if (property.isOneClickDeploy()) {
List<? extends DeployHost<?, ?>> sets = property.getHosts();
if (owner.getParent().hasPermission(OWN_AUTH) && DeployHost
.isValid(sets, owner, Hudson.getAuthentication())) {
return true;
}
if (owner.getParent().hasPermission(JOB_AUTH) && DeployHost.isValid(sets, owner, ACL.SYSTEM)) {
return true;
}
}
}
}
return false;
}
示例10: setup
import hudson.model.Hudson; //导入依赖的package包/类
@Before
public void setup() throws Exception {
DeployApplicationDescriptor descriptor = (DeployApplicationDescriptor)Hudson.getInstance().getDescriptor(DeployApplication.class);
// openshift credentials
String brokerAddress = TestUtils.getProp("openshift.brokerAddress");
String username = TestUtils.getProp("openshift.username");
String password = TestUtils.getProp("openshift.password");
// set openshift server
Server server = new Server(SERVER_NAME, brokerAddress, username, password);
descriptor.getServers().add(server);
// set ssh keys
String privateKey = ClassLoader.getSystemResource(SSH_PRIVATE_KEY).getFile();
Field sshPrivateKeyField = DeployApplication.DeployApplicationDescriptor.class.getField("publicKeyPath");
ReflectionUtils.setField(sshPrivateKeyField, descriptor, privateKey);
// upload ssh keys
client = new OpenShiftV2Client(brokerAddress, username, password);
String publicKey = ClassLoader.getSystemResource(SSH_PUBLIC_KEY).getFile();
File publicKeyFile = new File(publicKey);
if (!client.sshKeyExists(publicKeyFile)) {
client.uploadSSHKey(publicKeyFile);
}
}
示例11: doCheckHome
import hudson.model.Hudson; //导入依赖的package包/类
@Override
public FormValidation doCheckHome(@QueryParameter File value)
{
if (!Hudson.getInstance().hasPermission(Hudson.ADMINISTER))
return FormValidation.ok();
if (value.getPath().equals(""))
return FormValidation.ok(); // can be blank for master configurations and overriden on nodes
if (!value.isDirectory())
return FormValidation.error("Path to 'fauxpas' must be the directory that contains the 'fauxpas' command. If this is your master and you will be overriding this value on a node you can leave this value blank.");
File commandFile = new File(value, "fauxpas");
if(!commandFile.exists())
return FormValidation.warning( "Unable to locate 'fauxpas' in the provided home directory." );
return FormValidation.ok();
}
示例12: doUpdateCache
import hudson.model.Hudson; //导入依赖的package包/类
/**
* Method which is exposed to trigger the update of the local cache.
*
* @param req Request from Jenkins.
* @param rsp Response for Jenkins.
* @throws IOException When files operations failed.
*/
public void doUpdateCache(StaplerRequest req, StaplerResponse rsp) throws IOException {
try {
DescriptorImpl descriptor = (DescriptorImpl)Hudson.getInstance().getDescriptor(
DynamicConfigurationDefinition.class);
ccrUrl = descriptor.getCcrUrl();
localCachePath = descriptor.getLocalCachePath();
downloadAllAndSaveToCache();
LOG.info(Messages.CCRParameterCacheManager_UpdateSuccessful());
rsp.getWriter().write(Messages.CCRParameterCacheManager_UpdateSuccessful());
rsp.setStatus(200);
} catch (Exception e) {
LOG.throwing(this.getClass().getName(), "doCheckForUpdates", e);
rsp.getWriter().write(Messages.CCRParameterCacheManager_UpdateFailed() + " " + e.getMessage());
rsp.setStatus(500);
}
}
示例13: doSearchSubmit
import hudson.model.Hudson; //导入依赖的package包/类
public void doSearchSubmit(StaplerRequest req, StaplerResponse rsp)
throws IOException, UnsupportedEncodingException, ServletException,
Descriptor.FormException {
Hudson.getInstance().checkPermission(View.READ);
SearchAction action = SearchAction.fromRequest(req);
switch (action) {
case runSearchButton:
JobsFilter filter = new JobsFilter(req, this);
updateSearchCache(filter);
rsp.sendRedirect(".");
break;
case resetDefaultsButton:
updateSearchCache(getDefaultFilters());
rsp.sendRedirect(".");
break;
default:
throw new IOException("Action "+action+" is not supported");
}
}
示例14: getLabel
import hudson.model.Hudson; //导入依赖的package包/类
/**
* Get the default Slave Info Label as Hudson {@link hudson.model.Label}
* @return
*/
private Label getLabel() {
Label label = null;
// get mesos cloud
MesosCloud cloud = MesosCloud.get();
if(cloud != null) {
// get all label associate with cloud
List<MesosSlaveInfo> list = cloud.getSlaveInfos();
if(list != null && list.size() > 0) {
for (MesosSlaveInfo slaveInfo: list) {
if (slaveInfo.isDefaultSlave()) {
label = Hudson.getInstance().getLabel(slaveInfo.getLabelString());
break;
}
}
}
}
return label;
}
示例15: terminate
import hudson.model.Hudson; //导入依赖的package包/类
public void terminate() {
LOGGER.info("Terminating slave " + getNodeName());
try {
// Remove the node from hudson.
Hudson.getInstance().removeNode(this);
ComputerLauncher launcher = getLauncher();
// If this is a mesos computer launcher, terminate the launcher.
if (launcher instanceof MesosComputerLauncher) {
((MesosComputerLauncher) launcher).terminate();
}
} catch (IOException e) {
LOGGER.log(Level.WARNING, "Failed to terminate Mesos instance: "
+ getInstanceId(), e);
}
}