Example usage for org.eclipse.jgit.api PushCommand call

List of usage examples for org.eclipse.jgit.api PushCommand call

Introduction

In this page you can find the example usage for org.eclipse.jgit.api PushCommand call.

Prototype

@Override
public Iterable<PushResult> call()
        throws GitAPIException, InvalidRemoteException, org.eclipse.jgit.api.errors.TransportException 

Source Link

Document

Execute the push command with all the options and parameters collected by the setter methods of this class.

Usage

From source file:com.google.gerrit.acceptance.rest.project.TagsIT.java

License:Apache License

@Test
public void listTags() throws Exception {
    grant(Permission.SUBMIT, project, "refs/for/refs/heads/master");
    grant(Permission.CREATE, project, "refs/tags/*");
    grant(Permission.PUSH, project, "refs/tags/*");

    PushOneCommit.Tag tag1 = new PushOneCommit.Tag("v1.0");
    PushOneCommit push1 = pushFactory.create(db, admin.getIdent(), testRepo);
    push1.setTag(tag1);/*  w  w  w. j  av a 2 s  .  c  o  m*/
    PushOneCommit.Result r1 = push1.to("refs/for/master%submit");
    r1.assertOkStatus();

    PushOneCommit.AnnotatedTag tag2 = new PushOneCommit.AnnotatedTag("v2.0", "annotation", admin.getIdent());
    PushOneCommit push2 = pushFactory.create(db, admin.getIdent(), testRepo);
    push2.setTag(tag2);
    PushOneCommit.Result r2 = push2.to("refs/for/master%submit");
    r2.assertOkStatus();

    String tag3Ref = Constants.R_TAGS + "vLatest";
    PushCommand pushCmd = testRepo.git().push();
    pushCmd.setRefSpecs(new RefSpec(tag2.name + ":" + tag3Ref));
    Iterable<PushResult> r = pushCmd.call();
    assertThat(Iterables.getOnlyElement(r).getRemoteUpdate(tag3Ref).getStatus()).isEqualTo(Status.OK);

    List<TagInfo> result = getTags().get();
    assertThat(result).hasSize(3);

    TagInfo t = result.get(0);
    assertThat(t.ref).isEqualTo(Constants.R_TAGS + tag1.name);
    assertThat(t.revision).isEqualTo(r1.getCommit().getName());

    t = result.get(1);
    assertThat(t.ref).isEqualTo(Constants.R_TAGS + tag2.name);
    assertThat(t.object).isEqualTo(r2.getCommit().getName());
    assertThat(t.message).isEqualTo(tag2.message);
    assertThat(t.tagger.name).isEqualTo(tag2.tagger.getName());
    assertThat(t.tagger.email).isEqualTo(tag2.tagger.getEmailAddress());

    t = result.get(2);
    assertThat(t.ref).isEqualTo(tag3Ref);
    assertThat(t.object).isEqualTo(r2.getCommit().getName());
    assertThat(t.message).isEqualTo(tag2.message);
    assertThat(t.tagger.name).isEqualTo(tag2.tagger.getName());
    assertThat(t.tagger.email).isEqualTo(tag2.tagger.getEmailAddress());
}

From source file:com.ibm.liberty.starter.GitHubConnector.java

License:Apache License

/**
 * Must be called after #{createGitRepository()}
 *//*ww  w  .j a  v a  2  s .  c o m*/
public void pushAllChangesToGit() throws IOException {
    if (localRepository == null) {
        throw new IOException("Git has not been created, call createGitRepositoryFirst");
    }
    try {
        UserService userService = new UserService();
        userService.getClient().setOAuth2Token(oAuthToken);
        User user = userService.getUser();
        String name = user.getLogin();
        String email = user.getEmail();
        if (email == null) {
            // This is the e-mail addressed used by GitHub on web commits where the users mail is private. See:
            // https://github.com/settings/emails
            email = name + "@users.noreply.github.com";
        }

        localRepository.add().addFilepattern(".").call();
        localRepository.commit().setMessage("Initial commit").setCommitter(name, email).call();
        PushCommand pushCommand = localRepository.push();
        addAuth(pushCommand);
        pushCommand.call();
    } catch (GitAPIException e) {
        throw new IOException("Error pushing changes to GitHub", e);
    }
}

From source file:com.meltmedia.cadmium.core.git.GitService.java

License:Apache License

public void push(boolean tags) throws Exception {
    PushCommand push = git.push();
    if (tags) {// w w w.  j  av  a2 s  .  c  o m
        push.setPushTags();
    }
    push.call();
}

From source file:com.microsoft.azure.management.appservice.samples.ManageFunctionAppSourceControl.java

License:Open Source License

/**
 * Main function which runs the actual sample.
 * @param azure instance of the azure client
 * @return true if sample runs successfully
 *//*w  w  w  .j a  va2 s .  com*/
public static boolean runSample(Azure azure) {
    // New resources
    final String suffix = ".azurewebsites.net";
    final String app1Name = SdkContext.randomResourceName("webapp1-", 20);
    final String app2Name = SdkContext.randomResourceName("webapp2-", 20);
    final String app3Name = SdkContext.randomResourceName("webapp3-", 20);
    final String app4Name = SdkContext.randomResourceName("webapp4-", 20);
    final String app1Url = app1Name + suffix;
    final String app2Url = app2Name + suffix;
    final String app3Url = app3Name + suffix;
    final String app4Url = app4Name + suffix;
    final String rgName = SdkContext.randomResourceName("rg1NEMV_", 24);

    try {

        //============================================================
        // Create a function app with a new app service plan

        System.out.println("Creating function app " + app1Name + " in resource group " + rgName + "...");

        FunctionApp app1 = azure.appServices().functionApps().define(app1Name).withRegion(Region.US_WEST)
                .withNewResourceGroup(rgName).create();

        System.out.println("Created function app " + app1.name());
        Utils.print(app1);

        //============================================================
        // Deploy to app 1 through FTP

        System.out.println("Deploying a function app to " + app1Name + " through FTP...");

        Utils.uploadFileToFunctionApp(app1.getPublishingProfile(), "host.json",
                ManageFunctionAppSourceControl.class.getResourceAsStream("/square-function-app/host.json"));
        Utils.uploadFileToFunctionApp(app1.getPublishingProfile(), "square/function.json",
                ManageFunctionAppSourceControl.class
                        .getResourceAsStream("/square-function-app/square/function.json"));
        Utils.uploadFileToFunctionApp(app1.getPublishingProfile(), "square/index.js",
                ManageFunctionAppSourceControl.class
                        .getResourceAsStream("/square-function-app/square/index.js"));

        // sync triggers
        app1.syncTriggers();

        System.out.println("Deployment square app to function app " + app1.name() + " completed");
        Utils.print(app1);

        // warm up
        System.out.println("Warming up " + app1Url + "/api/square...");
        post("http://" + app1Url + "/api/square", "625");
        Thread.sleep(5000);
        System.out.println("CURLing " + app1Url + "/api/square...");
        System.out.println("Square of 625 is " + post("http://" + app1Url + "/api/square", "625"));

        //============================================================
        // Create a second function app with local git source control

        System.out
                .println("Creating another function app " + app2Name + " in resource group " + rgName + "...");
        AppServicePlan plan = azure.appServices().appServicePlans().getById(app1.appServicePlanId());
        FunctionApp app2 = azure.appServices().functionApps().define(app2Name).withExistingAppServicePlan(plan)
                .withExistingResourceGroup(rgName).withExistingStorageAccount(app1.storageAccount())
                .withLocalGitSourceControl().create();

        System.out.println("Created function app " + app2.name());
        Utils.print(app2);

        //============================================================
        // Deploy to app 2 through local Git

        System.out.println("Deploying a local Tomcat source to " + app2Name + " through Git...");

        PublishingProfile profile = app2.getPublishingProfile();
        Git git = Git.init()
                .setDirectory(new File(
                        ManageFunctionAppSourceControl.class.getResource("/square-function-app/").getPath()))
                .call();
        git.add().addFilepattern(".").call();
        git.commit().setMessage("Initial commit").call();
        PushCommand command = git.push();
        command.setRemote(profile.gitUrl());
        command.setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(profile.gitUsername(), profile.gitPassword()));
        command.setRefSpecs(new RefSpec("master:master"));
        command.setForce(true);
        command.call();

        System.out.println("Deployment to function app " + app2.name() + " completed");
        Utils.print(app2);

        // warm up
        System.out.println("Warming up " + app2Url + "/api/square...");
        post("http://" + app2Url + "/api/square", "725");
        Thread.sleep(5000);
        System.out.println("CURLing " + app2Url + "/api/square...");
        System.out.println("Square of 725 is " + post("http://" + app2Url + "/api/square", "725"));

        //============================================================
        // Create a 3rd function app with a public GitHub repo in Azure-Samples

        System.out.println("Creating another function app " + app3Name + "...");
        FunctionApp app3 = azure.appServices().functionApps().define(app3Name).withExistingAppServicePlan(plan)
                .withNewResourceGroup(rgName).withExistingStorageAccount(app2.storageAccount())
                .defineSourceControl()
                .withPublicGitRepository("https://github.com/jianghaolu/square-function-app-sample")
                .withBranch("master").attach().create();

        System.out.println("Created function app " + app3.name());
        Utils.print(app3);

        // warm up
        System.out.println("Warming up " + app3Url + "/api/square...");
        post("http://" + app3Url + "/api/square", "825");
        Thread.sleep(5000);
        System.out.println("CURLing " + app3Url + "/api/square...");
        System.out.println("Square of 825 is " + post("http://" + app3Url + "/api/square", "825"));

        //============================================================
        // Create a 4th function app with a personal GitHub repo and turn on continuous integration

        System.out.println("Creating another function app " + app4Name + "...");
        FunctionApp app4 = azure.appServices().functionApps().define(app4Name).withExistingAppServicePlan(plan)
                .withExistingResourceGroup(rgName).withExistingStorageAccount(app3.storageAccount())
                // Uncomment the following lines to turn on 4th scenario
                //.defineSourceControl()
                //    .withContinuouslyIntegratedGitHubRepository("username", "reponame")
                //    .withBranch("master")
                //    .withGitHubAccessToken("YOUR GITHUB PERSONAL TOKEN")
                //    .attach()
                .create();

        System.out.println("Created function app " + app4.name());
        Utils.print(app4);

        // warm up
        System.out.println("Warming up " + app4Url + "...");
        curl("http://" + app4Url);
        Thread.sleep(5000);
        System.out.println("CURLing " + app4Url + "...");
        System.out.println(curl("http://" + app4Url));

        return true;
    } catch (Exception e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
    } finally {
        try {
            System.out.println("Deleting Resource Group: " + rgName);
            azure.resourceGroups().beginDeleteByName(rgName);
            System.out.println("Deleted Resource Group: " + rgName);
        } catch (NullPointerException npe) {
            System.out.println("Did not create any resources in Azure. No clean up is necessary");
        } catch (Exception g) {
            g.printStackTrace();
        }
    }
    return false;
}

From source file:com.microsoft.azure.management.appservice.samples.ManageFunctionAppWithAuthentication.java

License:Open Source License

/**
 * Main function which runs the actual sample.
 * @param azure instance of the azure client
 * @return true if sample runs successfully
 *//*from  w w  w .  ja  va2s  . co m*/
public static boolean runSample(Azure azure) {
    // New resources
    final String suffix = ".azurewebsites.net";
    final String app1Name = SdkContext.randomResourceName("webapp1-", 20);
    final String app2Name = SdkContext.randomResourceName("webapp2-", 20);
    final String app1Url = app1Name + suffix;
    final String app2Url = app2Name + suffix;
    final String rgName = SdkContext.randomResourceName("rg1NEMV_", 24);

    try {

        //============================================================
        // Create a function app with admin level auth

        System.out.println("Creating function app " + app1Name + " in resource group " + rgName
                + " with admin level auth...");

        FunctionApp app1 = azure.appServices().functionApps().define(app1Name).withRegion(Region.US_WEST)
                .withNewResourceGroup(rgName).withLocalGitSourceControl().create();

        System.out.println("Created function app " + app1.name());
        Utils.print(app1);

        //============================================================
        // Create a second function app with function level auth

        System.out.println("Creating another function app " + app2Name + " in resource group " + rgName
                + " with function level auth...");
        AppServicePlan plan = azure.appServices().appServicePlans().getById(app1.appServicePlanId());
        FunctionApp app2 = azure.appServices().functionApps().define(app2Name).withExistingAppServicePlan(plan)
                .withExistingResourceGroup(rgName).withExistingStorageAccount(app1.storageAccount())
                .withLocalGitSourceControl().create();

        System.out.println("Created function app " + app2.name());
        Utils.print(app2);

        //============================================================
        // Deploy to app 1 through Git

        System.out.println("Deploying a local function app to " + app1Name + " through Git...");

        PublishingProfile profile = app1.getPublishingProfile();
        Git git = Git.init().setDirectory(new File(ManageFunctionAppWithAuthentication.class
                .getResource("/square-function-app-admin-auth/").getPath())).call();
        git.add().addFilepattern(".").call();
        git.commit().setMessage("Initial commit").call();
        PushCommand command = git.push();
        command.setRemote(profile.gitUrl());
        command.setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(profile.gitUsername(), profile.gitPassword()));
        command.setRefSpecs(new RefSpec("master:master"));
        command.setForce(true);
        command.call();

        System.out.println("Deployment to function app " + app1.name() + " completed");
        Utils.print(app1);

        // warm up
        System.out.println("Warming up " + app1Url + "/api/square...");
        post("http://" + app1Url + "/api/square", "625");
        Thread.sleep(5000);
        System.out.println("CURLing " + app1Url + "/api/square...");
        System.out.println("Square of 625 is "
                + post("http://" + app1Url + "/api/square?code=" + app1.getMasterKey(), "625"));

        //============================================================
        // Deploy to app 2 through Git

        System.out.println("Deploying a local function app to " + app2Name + " through Git...");

        profile = app2.getPublishingProfile();
        git = Git.init().setDirectory(new File(ManageFunctionAppWithAuthentication.class
                .getResource("/square-function-app-function-auth/").getPath())).call();
        git.add().addFilepattern(".").call();
        git.commit().setMessage("Initial commit").call();
        command = git.push();
        command.setRemote(profile.gitUrl());
        command.setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(profile.gitUsername(), profile.gitPassword()));
        command.setRefSpecs(new RefSpec("master:master"));
        command.setForce(true);
        command.call();

        System.out.println("Deployment to function app " + app2.name() + " completed");
        Utils.print(app2);

        String masterKey = app2.getMasterKey();
        Map<String, String> functionsHeader = new HashMap<>();
        functionsHeader.put("x-functions-key", masterKey);
        String response = curl("http://" + app2Url + "/admin/functions/square/keys", functionsHeader);
        Pattern pattern = Pattern.compile("\"name\":\"default\",\"value\":\"([\\w=/]+)\"");
        Matcher matcher = pattern.matcher(response);
        matcher.find();
        String functionKey = matcher.group(1);

        // warm up
        System.out.println("Warming up " + app2Url + "/api/square...");
        post("http://" + app2Url + "/api/square", "725");
        Thread.sleep(5000);
        System.out.println("CURLing " + app2Url + "/api/square...");
        System.out.println(
                "Square of 725 is " + post("http://" + app2Url + "/api/square?code=" + functionKey, "725"));

        return true;
    } catch (Exception e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
    } finally {
        try {
            System.out.println("Deleting Resource Group: " + rgName);
            azure.resourceGroups().beginDeleteByName(rgName);
            System.out.println("Deleted Resource Group: " + rgName);
        } catch (NullPointerException npe) {
            System.out.println("Did not create any resources in Azure. No clean up is necessary");
        } catch (Exception g) {
            g.printStackTrace();
        }
    }
    return false;
}

From source file:com.microsoft.azure.management.appservice.samples.ManageLinuxWebAppSourceControl.java

License:Open Source License

/**
 * Main function which runs the actual sample.
 * @param azure instance of the azure client
 * @return true if sample runs successfully
 *//*from  w  w w .  ja  va2  s.c  o m*/
public static boolean runSample(Azure azure) {
    // New resources
    final String suffix = ".azurewebsites.net";
    final String app1Name = SdkContext.randomResourceName("webapp1-", 20);
    final String app2Name = SdkContext.randomResourceName("webapp2-", 20);
    final String app3Name = SdkContext.randomResourceName("webapp3-", 20);
    final String app4Name = SdkContext.randomResourceName("webapp4-", 20);
    final String app1Url = app1Name + suffix;
    final String app2Url = app2Name + suffix;
    final String app3Url = app3Name + suffix;
    final String app4Url = app4Name + suffix;
    final String rgName = SdkContext.randomResourceName("rg1NEMV_", 24);

    try {

        //============================================================
        // Create a web app with a new app service plan

        System.out.println("Creating web app " + app1Name + " in resource group " + rgName + "...");

        WebApp app1 = azure.webApps().define(app1Name).withRegion(Region.US_WEST).withNewResourceGroup(rgName)
                .withNewLinuxPlan(PricingTier.STANDARD_S1).withPublicDockerHubImage("tomcat:8-jre8")
                .withStartUpCommand(
                        "/bin/bash -c \"sed -ie 's/appBase=\\\"webapps\\\"/appBase=\\\"\\\\/home\\\\/site\\\\/wwwroot\\\\/webapps\\\"/g' conf/server.xml && catalina.sh run\"")
                .withAppSetting("PORT", "8080").create();

        System.out.println("Created web app " + app1.name());
        Utils.print(app1);

        //============================================================
        // Deploy to app 1 through FTP

        System.out.println("Deploying helloworld.war to " + app1Name + " through FTP...");

        Utils.uploadFileToWebApp(app1.getPublishingProfile(), "helloworld.war",
                ManageLinuxWebAppSourceControl.class.getResourceAsStream("/helloworld.war"));

        System.out.println("Deployment helloworld.war to web app " + app1.name() + " completed");
        Utils.print(app1);

        // warm up
        System.out.println("Warming up " + app1Url + "/helloworld...");
        curl("http://" + app1Url + "/helloworld");
        Thread.sleep(5000);
        System.out.println("CURLing " + app1Url + "/helloworld...");
        System.out.println(curl("http://" + app1Url + "/helloworld"));

        //============================================================
        // Create a second web app with local git source control

        System.out.println("Creating another web app " + app2Name + " in resource group " + rgName + "...");
        AppServicePlan plan = azure.appServices().appServicePlans().getById(app1.appServicePlanId());
        WebApp app2 = azure.webApps().define(app2Name).withExistingLinuxPlan(plan)
                .withExistingResourceGroup(rgName).withPublicDockerHubImage("tomcat:8-jre8")
                .withStartUpCommand(
                        "/bin/bash -c \"sed -ie 's/appBase=\\\"webapps\\\"/appBase=\\\"\\\\/home\\\\/site\\\\/wwwroot\\\\/webapps\\\"/g' conf/server.xml && catalina.sh run\"")
                .withAppSetting("PORT", "8080").withLocalGitSourceControl().create();

        System.out.println("Created web app " + app2.name());
        Utils.print(app2);

        //============================================================
        // Deploy to app 2 through local Git

        System.out.println("Deploying a local Tomcat source to " + app2Name + " through Git...");

        PublishingProfile profile = app2.getPublishingProfile();
        Git git = Git.init().setDirectory(new File(ManageLinuxWebAppSourceControl.class
                .getResource("/azure-samples-appservice-helloworld/").getPath())).call();
        git.add().addFilepattern(".").call();
        git.commit().setMessage("Initial commit").call();
        PushCommand command = git.push();
        command.setRemote(profile.gitUrl());
        command.setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(profile.gitUsername(), profile.gitPassword()));
        command.setRefSpecs(new RefSpec("master:master"));
        command.setForce(true);
        command.call();

        System.out.println("Deployment to web app " + app2.name() + " completed");
        Utils.print(app2);

        // warm up
        System.out.println("Warming up " + app2Url + "/helloworld...");
        curl("http://" + app2Url + "/helloworld");
        Thread.sleep(5000);
        System.out.println("CURLing " + app2Url + "/helloworld...");
        System.out.println(curl("http://" + app2Url + "/helloworld"));

        //============================================================
        // Create a 3rd web app with a public GitHub repo in Azure-Samples

        System.out.println("Creating another web app " + app3Name + "...");
        WebApp app3 = azure.webApps().define(app3Name).withExistingLinuxPlan(plan).withNewResourceGroup(rgName)
                .withPublicDockerHubImage("tomcat:8-jre8")
                .withStartUpCommand(
                        "/bin/bash -c \"sed -ie 's/appBase=\\\"webapps\\\"/appBase=\\\"\\\\/home\\\\/site\\\\/wwwroot\\\\/webapps\\\"/g' conf/server.xml && catalina.sh run\"")
                .withAppSetting("PORT", "8080").defineSourceControl()
                .withPublicGitRepository("https://github.com/azure-appservice-samples/java-get-started")
                .withBranch("master").attach().create();

        System.out.println("Created web app " + app3.name());
        Utils.print(app3);

        // warm up
        System.out.println("Warming up " + app3Url + "...");
        curl("http://" + app3Url);
        Thread.sleep(5000);
        System.out.println("CURLing " + app3Url + "...");
        System.out.println(curl("http://" + app3Url));

        //============================================================
        // Create a 4th web app with a personal GitHub repo and turn on continuous integration

        System.out.println("Creating another web app " + app4Name + "...");
        WebApp app4 = azure.webApps().define(app4Name).withExistingLinuxPlan(plan)
                .withExistingResourceGroup(rgName).withPublicDockerHubImage("tomcat:8-jre8")
                .withStartUpCommand(
                        "/bin/bash -c \"sed -ie 's/appBase=\\\"webapps\\\"/appBase=\\\"\\\\/home\\\\/site\\\\/wwwroot\\\\/webapps\\\"/g' conf/server.xml && catalina.sh run\"")
                .withAppSetting("PORT", "8080")
                // Uncomment the following lines to turn on 4th scenario
                //.defineSourceControl()
                //    .withContinuouslyIntegratedGitHubRepository("username", "reponame")
                //    .withBranch("master")
                //    .withGitHubAccessToken("YOUR GITHUB PERSONAL TOKEN")
                //    .attach()
                .create();

        System.out.println("Created web app " + app4.name());
        Utils.print(app4);

        // warm up
        System.out.println("Warming up " + app4Url + "...");
        curl("http://" + app4Url);
        Thread.sleep(5000);
        System.out.println("CURLing " + app4Url + "...");
        System.out.println(curl("http://" + app4Url));

        return true;
    } catch (Exception e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
    } finally {
        try {
            System.out.println("Deleting Resource Group: " + rgName);
            azure.resourceGroups().beginDeleteByName(rgName);
            System.out.println("Deleted Resource Group: " + rgName);
        } catch (NullPointerException npe) {
            System.out.println("Did not create any resources in Azure. No clean up is necessary");
        } catch (Exception g) {
            g.printStackTrace();
        }
    }
    return false;
}

From source file:com.microsoft.azure.management.appservice.samples.ManageWebAppSourceControl.java

License:Open Source License

/**
 * Main function which runs the actual sample.
 * @param azure instance of the azure client
 * @return true if sample runs successfully
 *///w  w w  .  j a v a2  s.  c  o  m
public static boolean runSample(Azure azure) {
    // New resources
    final String suffix = ".azurewebsites.net";
    final String app1Name = SdkContext.randomResourceName("webapp1-", 20);
    final String app2Name = SdkContext.randomResourceName("webapp2-", 20);
    final String app3Name = SdkContext.randomResourceName("webapp3-", 20);
    final String app4Name = SdkContext.randomResourceName("webapp4-", 20);
    final String app5Name = SdkContext.randomResourceName("webapp5-", 20);
    final String app6Name = SdkContext.randomResourceName("webapp5-", 20);
    final String app7Name = SdkContext.randomResourceName("webapp7-", 20);
    final String app1Url = app1Name + suffix;
    final String app2Url = app2Name + suffix;
    final String app3Url = app3Name + suffix;
    final String app4Url = app4Name + suffix;
    final String app5Url = app5Name + suffix;
    final String app6Url = app6Name + suffix;
    final String app7Url = app7Name + suffix;
    final String rgName = SdkContext.randomResourceName("rg1NEMV_", 24);
    final String rg7Name = SdkContext.randomResourceName("rg7NEMV_", 24);
    try {

        //============================================================
        // Create a web app with a new app service plan

        System.out.println("Creating web app " + app1Name + " in resource group " + rgName + "...");

        WebApp app1 = azure.webApps().define(app1Name).withRegion(Region.US_WEST).withNewResourceGroup(rgName)
                .withNewWindowsPlan(PricingTier.STANDARD_S1).withJavaVersion(JavaVersion.JAVA_8_NEWEST)
                .withWebContainer(WebContainer.TOMCAT_8_0_NEWEST).create();

        System.out.println("Created web app " + app1.name());
        Utils.print(app1);

        //============================================================
        // Deploy to app 1 through FTP

        System.out.println("Deploying helloworld.war to " + app1Name + " through FTP...");

        Utils.uploadFileToWebApp(app1.getPublishingProfile(), "helloworld.war",
                ManageWebAppSourceControl.class.getResourceAsStream("/helloworld.war"));

        System.out.println("Deployment helloworld.war to web app " + app1.name() + " completed");
        Utils.print(app1);

        // warm up
        System.out.println("Warming up " + app1Url + "/helloworld...");
        curl("http://" + app1Url + "/helloworld");
        SdkContext.sleep(5000);
        System.out.println("CURLing " + app1Url + "/helloworld...");
        System.out.println(curl("http://" + app1Url + "/helloworld"));

        //============================================================
        // Create a second web app with local git source control

        System.out.println("Creating another web app " + app2Name + " in resource group " + rgName + "...");
        AppServicePlan plan = azure.appServices().appServicePlans().getById(app1.appServicePlanId());
        WebApp app2 = azure.webApps().define(app2Name).withExistingWindowsPlan(plan)
                .withExistingResourceGroup(rgName).withLocalGitSourceControl()
                .withJavaVersion(JavaVersion.JAVA_8_NEWEST).withWebContainer(WebContainer.TOMCAT_8_0_NEWEST)
                .create();

        System.out.println("Created web app " + app2.name());
        Utils.print(app2);

        //============================================================
        // Deploy to app 2 through local Git

        System.out.println("Deploying a local Tomcat source to " + app2Name + " through Git...");

        PublishingProfile profile = app2.getPublishingProfile();
        Git git = Git.init().setDirectory(new File(
                ManageWebAppSourceControl.class.getResource("/azure-samples-appservice-helloworld/").getPath()))
                .call();
        git.add().addFilepattern(".").call();
        git.commit().setMessage("Initial commit").call();
        PushCommand command = git.push();
        command.setRemote(profile.gitUrl());
        command.setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(profile.gitUsername(), profile.gitPassword()));
        command.setRefSpecs(new RefSpec("master:master"));
        command.setForce(true);
        command.call();

        System.out.println("Deployment to web app " + app2.name() + " completed");
        Utils.print(app2);

        // warm up
        System.out.println("Warming up " + app2Url + "/helloworld...");
        curl("http://" + app2Url + "/helloworld");
        SdkContext.sleep(5000);
        System.out.println("CURLing " + app2Url + "/helloworld...");
        System.out.println(curl("http://" + app2Url + "/helloworld"));

        //============================================================
        // Create a 3rd web app with a public GitHub repo in Azure-Samples

        System.out.println("Creating another web app " + app3Name + "...");
        WebApp app3 = azure.webApps().define(app3Name).withExistingWindowsPlan(plan)
                .withNewResourceGroup(rgName).defineSourceControl()
                .withPublicGitRepository("https://github.com/Azure-Samples/app-service-web-dotnet-get-started")
                .withBranch("master").attach().create();

        System.out.println("Created web app " + app3.name());
        Utils.print(app3);

        // warm up
        System.out.println("Warming up " + app3Url + "...");
        curl("http://" + app3Url);
        SdkContext.sleep(5000);
        System.out.println("CURLing " + app3Url + "...");
        System.out.println(curl("http://" + app3Url));

        //============================================================
        // Create a 4th web app with a personal GitHub repo and turn on continuous integration

        System.out.println("Creating another web app " + app4Name + "...");
        WebApp app4 = azure.webApps().define(app4Name).withExistingWindowsPlan(plan)
                .withExistingResourceGroup(rgName)
                // Uncomment the following lines to turn on 4th scenario
                //.defineSourceControl()
                //    .withContinuouslyIntegratedGitHubRepository("username", "reponame")
                //    .withBranch("master")
                //    .withGitHubAccessToken("YOUR GITHUB PERSONAL TOKEN")
                //    .attach()
                .create();

        System.out.println("Created web app " + app4.name());
        Utils.print(app4);

        // warm up
        System.out.println("Warming up " + app4Url + "...");
        curl("http://" + app4Url);
        SdkContext.sleep(5000);
        System.out.println("CURLing " + app4Url + "...");
        System.out.println(curl("http://" + app4Url));

        //============================================================
        // Create a 5th web app with the existing app service plan

        System.out.println("Creating web app " + app5Name + " in resource group " + rgName + "...");

        WebApp app5 = azure.webApps().define(app5Name).withExistingWindowsPlan(plan)
                .withExistingResourceGroup(rgName).withJavaVersion(JavaVersion.JAVA_8_NEWEST)
                .withWebContainer(WebContainer.TOMCAT_8_0_NEWEST).create();

        System.out.println("Created web app " + app5.name());
        Utils.print(app5);

        //============================================================
        // Deploy to the 5th web app through web deploy

        System.out.println("Deploying helloworld.war to " + app5Name + " through web deploy...");

        app5.deploy().withPackageUri(
                "https://github.com/Azure/azure-libraries-for-java/raw/master/azure-samples/src/main/resources/helloworld.zip")
                .withExistingDeploymentsDeleted(true).execute();

        System.out.println("Deploying coffeeshop.war to " + app5Name + " through web deploy...");

        app5.deploy().withPackageUri(
                "https://github.com/Azure/azure-libraries-for-java/raw/master/azure-samples/src/main/resources/coffeeshop.zip")
                .withExistingDeploymentsDeleted(false).execute();

        System.out.println("Deployments to web app " + app5.name() + " completed");
        Utils.print(app5);

        // warm up
        System.out.println("Warming up " + app5Url + "/helloworld...");
        curl("http://" + app5Url + "/helloworld");
        SdkContext.sleep(5000);
        System.out.println("CURLing " + app5Url + "/helloworld...");
        System.out.println(curl("http://" + app5Url + "/helloworld"));
        System.out.println("CURLing " + app5Url + "/coffeeshop...");
        System.out.println(curl("http://" + app5Url + "/coffeeshop"));

        //============================================================
        // Create a 6th web app with the existing app service plan

        System.out.println("Creating web app " + app6Name + " in resource group " + rgName + "...");

        WebApp app6 = azure.webApps().define(app6Name).withExistingWindowsPlan(plan)
                .withExistingResourceGroup(rgName).withJavaVersion(JavaVersion.JAVA_8_NEWEST)
                .withWebContainer(WebContainer.TOMCAT_8_0_NEWEST).create();

        System.out.println("Created web app " + app6.name());
        Utils.print(app6);

        //============================================================
        // Deploy to the 6th web app through WAR deploy

        System.out.println("Deploying helloworld.war to " + app6Name + " through WAR deploy...");

        app6.update().withAppSetting("SCM_TARGET_PATH", "webapps/helloworld").apply();
        app6.warDeploy(new File(ManageWebAppSourceControl.class.getResource("/helloworld.war").getPath()));

        System.out.println("Deploying coffeeshop.war to " + app6Name + " through WAR deploy...");

        app6.update().withAppSetting("SCM_TARGET_PATH", "webapps/coffeeshop").apply();
        app6.restart();
        app6.warDeploy(new File(ManageWebAppSourceControl.class.getResource("/coffeeshop.war").getPath()));

        System.out.println("Deployments to web app " + app6.name() + " completed");
        Utils.print(app6);

        // warm up
        System.out.println("Warming up " + app6Url + "/helloworld...");
        curl("http://" + app6Url + "/helloworld");
        SdkContext.sleep(5000);
        System.out.println("CURLing " + app6Url + "/helloworld...");
        System.out.println(curl("http://" + app6Url + "/helloworld"));
        System.out.println("CURLing " + app6Url + "/coffeeshop...");
        System.out.println(curl("http://" + app6Url + "/coffeeshop"));

        //============================================================
        // Create a 7th web app with the existing app service plan

        System.out.println("Creating web app " + app7Name + " in resource group " + rgName + "...");

        WebApp app7 = azure.webApps().define(app7Name).withRegion(Region.US_WEST).withNewResourceGroup(rg7Name)
                .withNewLinuxPlan(PricingTier.STANDARD_S2).withBuiltInImage(RuntimeStack.JAVA_8_JRE8)
                .withAppSetting("JAVA_OPTS", "-Djava.security.egd=file:/dev/./urandom").create();

        System.out.println("Created web app " + app7.name());
        Utils.print(app7);

        //============================================================
        // Deploy to the 7th web app through ZIP deploy

        System.out.println("Deploying app.zip to " + app7Name + " through ZIP deploy...");

        for (int i = 0; i < 5; i++) {
            try {
                app7.zipDeploy(new File(ManageWebAppSourceControl.class.getResource("/app.zip").getPath()));
                break;
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        System.out.println("Deployments to web app " + app7.name() + " completed");
        Utils.print(app7);

        // warm up
        System.out.println("Warming up " + app7Url);
        curl("http://" + app7Url);
        return true;
    } catch (Exception e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
    } finally {
        try {
            System.out.println("Deleting Resource Group: " + rgName);
            azure.resourceGroups().beginDeleteByName(rgName);
            azure.resourceGroups().beginDeleteByName(rg7Name);
            System.out.println("Deleted Resource Group: " + rgName);
        } catch (NullPointerException npe) {
            System.out.println("Did not create any resources in Azure. No clean up is necessary");
        } catch (Exception g) {
            g.printStackTrace();
        }
    }
    return false;
}

From source file:com.microsoft.azure.management.appservice.samples.ManageWebAppSourceControlAsync.java

License:Open Source License

/**
 * Main function which runs the actual sample.
 * @param azure instance of the azure client
 * @return true if sample runs successfully
 *///  ww w .j  a v a 2  s  . c om
public static boolean runSample(final Azure azure) {
    // New resources
    final String suffix = ".azurewebsites.net";
    final String app1Name = SdkContext.randomResourceName("webapp1-", 20);
    final String app2Name = SdkContext.randomResourceName("webapp2-", 20);
    final String app3Name = SdkContext.randomResourceName("webapp3-", 20);
    final String app4Name = SdkContext.randomResourceName("webapp4-", 20);
    final String app1Url = app1Name + suffix;
    final String app2Url = app2Name + suffix;
    final String app3Url = app3Name + suffix;
    final String app4Url = app4Name + suffix;
    final String planName = SdkContext.randomResourceName("jplan_", 15);
    final String rgName = SdkContext.randomResourceName("rg1NEMV_", 24);

    try {

        //============================================================
        // Create a web app with a new app service plan

        System.out.println("Creating web app " + app1Name + " in resource group " + rgName + "...");

        Observable<?> app1Observable = azure.webApps().define(app1Name).withRegion(Region.US_WEST)
                .withNewResourceGroup(rgName).withNewWindowsPlan(PricingTier.STANDARD_S1)
                .withJavaVersion(JavaVersion.JAVA_8_NEWEST).withWebContainer(WebContainer.TOMCAT_8_0_NEWEST)
                .createAsync().flatMap(new Func1<Indexable, Observable<?>>() {
                    @Override
                    public Observable<?> call(Indexable indexable) {
                        if (indexable instanceof WebApp) {
                            WebApp app = (WebApp) indexable;
                            System.out.println("Created web app " + app.name());
                            return Observable.merge(Observable.just(indexable), app.getPublishingProfileAsync()
                                    .map(new Func1<PublishingProfile, PublishingProfile>() {
                                        @Override
                                        public PublishingProfile call(PublishingProfile publishingProfile) {
                                            System.out.println("Deploying helloworld.war to " + app1Name
                                                    + " through FTP...");
                                            Utils.uploadFileToWebApp(publishingProfile, "helloworld.war",
                                                    ManageWebAppSourceControlAsync.class
                                                            .getResourceAsStream("/helloworld.war"));

                                            System.out.println("Deployment helloworld.war to web app "
                                                    + app1Name + " completed");
                                            return publishingProfile;
                                        }
                                    }));
                        }
                        return Observable.just(indexable);
                    }
                });

        System.out.println("Creating another web app " + app2Name + " in resource group " + rgName + "...");
        System.out.println("Creating another web app " + app3Name + "...");
        System.out.println("Creating another web app " + app4Name + "...");

        Observable<?> app234Observable = azure.appServices().appServicePlans()
                .getByResourceGroupAsync(rgName, planName)
                .flatMap(new Func1<AppServicePlan, Observable<Indexable>>() {
                    @Override
                    public Observable<Indexable> call(AppServicePlan plan) {
                        return Observable.merge(
                                azure.webApps().define(app2Name).withExistingWindowsPlan(plan)
                                        .withExistingResourceGroup(rgName).withLocalGitSourceControl()
                                        .withJavaVersion(JavaVersion.JAVA_8_NEWEST)
                                        .withWebContainer(WebContainer.TOMCAT_8_0_NEWEST).createAsync(),
                                azure.webApps().define(app3Name).withExistingWindowsPlan(plan)
                                        .withNewResourceGroup(rgName).defineSourceControl()
                                        .withPublicGitRepository(
                                                "https://github.com/Azure-Samples/app-service-web-dotnet-get-started")
                                        .withBranch("master").attach().createAsync(),
                                azure.webApps().define(app4Name).withExistingWindowsPlan(plan)
                                        .withExistingResourceGroup(rgName)
                                        // Uncomment the following lines to turn on 4th scenario
                                        //.defineSourceControl()
                                        //    .withContinuouslyIntegratedGitHubRepository("username", "reponame")
                                        //    .withBranch("master")
                                        //    .withGitHubAccessToken("YOUR GITHUB PERSONAL TOKEN")
                                        //    .attach()
                                        .createAsync());
                    }
                }).flatMap(new Func1<Indexable, Observable<?>>() {
                    @Override
                    public Observable<?> call(Indexable indexable) {
                        if (indexable instanceof WebApp) {
                            WebApp app = (WebApp) indexable;
                            System.out.println("Created web app " + app.name());
                            if (!app.name().equals(app2Name)) {
                                return Observable.just(indexable);
                            }
                            // for the second web app Deploy a local Tomcat
                            return app.getPublishingProfileAsync()
                                    .map(new Func1<PublishingProfile, PublishingProfile>() {
                                        @Override
                                        public PublishingProfile call(PublishingProfile profile) {
                                            System.out.println("Deploying a local Tomcat source to " + app2Name
                                                    + " through Git...");
                                            Git git = null;
                                            try {
                                                git = Git.init().setDirectory(
                                                        new File(ManageWebAppSourceControlAsync.class
                                                                .getResource(
                                                                        "/azure-samples-appservice-helloworld/")
                                                                .getPath()))
                                                        .call();
                                                git.add().addFilepattern(".").call();
                                                git.commit().setMessage("Initial commit").call();
                                                PushCommand command = git.push();
                                                command.setRemote(profile.gitUrl());
                                                command.setCredentialsProvider(
                                                        new UsernamePasswordCredentialsProvider(
                                                                profile.gitUsername(), profile.gitPassword()));
                                                command.setRefSpecs(new RefSpec("master:master"));
                                                command.setForce(true);
                                                command.call();
                                            } catch (GitAPIException e) {
                                                e.printStackTrace();
                                            }
                                            System.out.println(
                                                    "Deployment to web app " + app2Name + " completed");
                                            return profile;
                                        }
                                    });
                        }
                        return Observable.just(indexable);
                    }
                });

        Observable.merge(app1Observable, app234Observable).toBlocking().subscribe();

        // warm up
        System.out.println("Warming up " + app1Url + "/helloworld...");
        curl("http://" + app1Url + "/helloworld");
        System.out.println("Warming up " + app2Url + "/helloworld...");
        curl("http://" + app2Url + "/helloworld");
        System.out.println("Warming up " + app3Url + "...");
        curl("http://" + app3Url);
        System.out.println("Warming up " + app4Url + "...");
        curl("http://" + app4Url);
        Thread.sleep(5000);
        System.out.println("CURLing " + app1Url + "/helloworld...");
        System.out.println(curl("http://" + app1Url + "/helloworld"));
        System.out.println("CURLing " + app2Url + "/helloworld...");
        System.out.println(curl("http://" + app2Url + "/helloworld"));
        System.out.println("CURLing " + app3Url + "...");
        System.out.println(curl("http://" + app3Url));
        System.out.println("CURLing " + app4Url + "...");
        System.out.println(curl("http://" + app4Url));

        return true;
    } catch (Exception e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
    } finally {
        try {
            System.out.println("Deleting Resource Group: " + rgName);
            azure.resourceGroups().beginDeleteByNameAsync(rgName).toBlocking().subscribe();
            System.out.println("Deleted Resource Group: " + rgName);
        } catch (NullPointerException npe) {
            System.out.println("Did not create any resources in Azure. No clean up is necessary");
        } catch (Exception g) {
            g.printStackTrace();
        }
    }
    return false;
}

From source file:com.sap.dirigible.ide.jgit.connector.JGitConnector.java

License:Open Source License

/**
 * /*w  w  w  . j a  va2  s.  c  o m*/
 * Pushes the committed changes to the remote repository.
 * 
 * @param username
 *            for the remote repository
 * @param password
 *            for the remote repository
 * @throws InvalidRemoteException
 * @throws TransportException
 * @throws GitAPIException
 */
public void push(String username, String password)
        throws InvalidRemoteException, TransportException, GitAPIException {
    PushCommand pushCommand = git.push();
    pushCommand.setCredentialsProvider(new UsernamePasswordCredentialsProvider(username, password));
    pushCommand.call();
}

From source file:com.surevine.gateway.scm.git.jgit.JGitGitFacade.java

License:Open Source License

@Override
public void push(final LocalRepoBean repoBean, final String remoteName) throws GitException {
    try {/*from  www . j ava  2  s.  c o  m*/
        FileRepositoryBuilder builder = new FileRepositoryBuilder();
        Repository repository = builder.setGitDir(repoBean.getRepoDirectory().toFile()).findGitDir().build();
        Git git = new org.eclipse.jgit.api.Git(repository);

        // dry run the push - if the push cannot be done automatically we have no way to recover so we just log
        // and throw an exception
        PushCommand dryRunPushCommand = git.push();
        dryRunPushCommand.setRemote(remoteName);
        dryRunPushCommand.setDryRun(true);
        Iterable<PushResult> dryRunResult = dryRunPushCommand.call();
        for (PushResult result : dryRunResult) {
            for (RemoteRefUpdate remoteRefUpdate : result.getRemoteUpdates()) {
                switch (remoteRefUpdate.getStatus()) {
                case OK:
                case UP_TO_DATE:
                    continue;
                default:
                    throw new GitException("During a dry run of a push one of the updates would have failed "
                            + "so the push was aborted for repo " + repoBean + " to remote "
                            + dryRunPushCommand.getRemote());
                }
            }
        }

        // if we get to this point the dry run was OK so try the real thing
        PushCommand realPushCommand = git.push();
        realPushCommand.setRemote(remoteName);
        Iterable<PushResult> pushResults = realPushCommand.call();
        for (PushResult result : pushResults) {
            for (RemoteRefUpdate remoteRefUpdate : result.getRemoteUpdates()) {
                switch (remoteRefUpdate.getStatus()) {
                case OK:
                case UP_TO_DATE:
                    continue;
                default:
                    throw new GitException(
                            "Push failed for " + repoBean + " to remote " + dryRunPushCommand.getRemote());
                }
            }
        }
    } catch (GitAPIException | IOException e) {
        LOGGER.error(e);
        throw new GitException(e);
    }
}