kopia lustrzana https://github.com/c9/core
Merge pull request +11685 from c9/prepare-load-balancing
Prepare load balancingpull/242/head
commit
53c3a2dcd1
|
@ -1,14 +1,30 @@
|
|||
var fs = require("fs");
|
||||
|
||||
exports.parse = function(hostname) {
|
||||
var parts = hostname.split("-");
|
||||
return {
|
||||
type: parts[0],
|
||||
provider: parts[1],
|
||||
region: parts[2],
|
||||
index: parts[3],
|
||||
env: parts[4]
|
||||
};
|
||||
|
||||
var m1 = hostname.match(/^([0-9a-z-]+?)-gce-([a-z]+)-([0-9]+)-([a-z0-9]+)$/);
|
||||
var m2 = hostname.match(/^([0-9a-z-]+?)-gce-([a-z]+)-([a-z0-9]+)-([a-z0-9]{4})$/);
|
||||
|
||||
if (m1) {
|
||||
return {
|
||||
type: m1[1],
|
||||
provider: "gce",
|
||||
region: m1[2],
|
||||
index: m1[3],
|
||||
env: m1[4]
|
||||
};
|
||||
}
|
||||
else if (m2) {
|
||||
return {
|
||||
type: m2[1],
|
||||
provider: "gce",
|
||||
region: m2[2],
|
||||
env: m2[3],
|
||||
index: m2[4]
|
||||
};
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
||||
exports.get = function() {
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/*global describe it before after beforeEach afterEach define*/
|
||||
"use strict";
|
||||
"use server";
|
||||
"use mocha";
|
||||
|
||||
require("c9/inline-mocha")(module);
|
||||
|
||||
var assert = require("assert-diff");
|
||||
var hostname = require("./hostname");
|
||||
|
||||
describe(__filename, function() {
|
||||
|
||||
function assertServerName(sn, type, region, index, env) {
|
||||
assert.equal(sn.type, type);
|
||||
assert.equal(sn.region, region);
|
||||
assert.equal(sn.index, index);
|
||||
assert.equal(sn.env, env);
|
||||
}
|
||||
|
||||
it("parse hostname", function() {
|
||||
assertServerName(hostname.parse("fabian-gce-eu-04-dev"), "fabian", "eu", "04", "dev");
|
||||
assertServerName(hostname.parse("newclient-gce-eu-prod-d4fg"), "newclient", "eu", "d4fg", "prod");
|
||||
assertServerName(hostname.parse("ide-old-gce-usw-02-prod"), "ide-old", "usw", "02", "prod");
|
||||
});
|
||||
});
|
|
@ -12,6 +12,7 @@ var optimist = require("optimist");
|
|||
var async = require("async");
|
||||
var os = require("os");
|
||||
var urls = require("c9/urls");
|
||||
var hostname = require("c9/hostname");
|
||||
var child_process = require("child_process");
|
||||
require("c9/setup_paths.js");
|
||||
|
||||
|
@ -56,9 +57,7 @@ if (!module.parent)
|
|||
main(process.argv.slice(2));
|
||||
|
||||
function getDefaultSettings() {
|
||||
var hostname = os.hostname();
|
||||
|
||||
var suffix = hostname.trim().split("-").pop() || "";
|
||||
var suffix = hostname.parse(os.hostname()).env;
|
||||
var modes = {
|
||||
"workflowstaging": "workflow-staging",
|
||||
"prod": "deploy",
|
||||
|
|
Ładowanie…
Reference in New Issue