@docupace/pipeline 1.0.41 → 1.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/pipeline",
3
- "version": "1.0.41",
3
+ "version": "1.0.43",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,40 +1,68 @@
1
- import { $ } from 'zx';
2
-
3
- export async function addApacheSite() {
4
- if (
5
- !process.env.ENVIRONMENT ||
6
- (process.env.ENVIRONMENT !== 'dev' && process.env.ENVIRONMENT !== 'qa')
7
- ) {
8
- log("Error: ENVIRONMENT must be either 'dev' or 'qa'.");
9
- process.exit(1);
10
- }
11
- if (!process.env.SITE) {
12
- log('Error: SITE cannot be empty.');
13
- process.exit(1);
14
- }
15
-
16
- // Save private key from base64
17
- const haproxyPrivateKey = process.env.HAPROXY_PRIVATE_KEY;
18
- if (!haproxyPrivateKey) {
19
- log('Error: HAPROXY_PRIVATE_KEY not set.');
20
- process.exit(1);
21
- }
22
-
23
- await fs.writeFile('private.key', Buffer.from(haproxyPrivateKey, 'base64'));
24
- await fs.chmod('private.key', 0o600);
25
-
26
-
27
- console.log("Running command");
28
- const sshCmd = (server,script) =>
29
- $`ssh -i private.key -o StrictHostKeyChecking=no root@${server} ${script}`;
30
-
31
- let server = `${process.env.ENVIRONMENT}-apalb01a.corp.docupace.com`;
32
- // The script is run twice in the Bash version
33
- await sshCmd(server, `/root/repo/iis-preprod/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`);
34
-
35
- server = `${process.env.ENVIRONMENT}-apalb01b.corp.docupace.com`;
36
-
37
- await sshCmd(server,`/root/repo/iis-preprod/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`);
38
- }
39
-
40
-
1
+ import fs from 'fs-extra';
2
+ import { $ } from 'zx';
3
+
4
+ function log(msg) {
5
+ console.log(`[*] ${msg}`);
6
+ }
7
+
8
+ export async function addApacheSite() {
9
+ if (
10
+ !process.env.ENVIRONMENT ||
11
+ !['dev', 'qa', 'uat', 'stage'].includes(process.env.ENVIRONMENT)
12
+ ) {
13
+ log('Error: wront ENVIRONMENT');
14
+ process.exit(1);
15
+ }
16
+ if (!process.env.SITE) {
17
+ log('Error: SITE cannot be empty.');
18
+ process.exit(1);
19
+ }
20
+
21
+ const apacheEnvHostMap = {
22
+ dev: {
23
+ host1: 'dev-apalb01a.corp.docupace.com',
24
+ host2: 'dev-apalb01b.corp.docupace.com',
25
+ repo: 'iis-preprod',
26
+ },
27
+ qa: {
28
+ host1: 'qa-apalb01a.corp.docupace.com',
29
+ host2: 'qa-apalb01b.corp.docupace.com',
30
+ repo: 'iis-preprod',
31
+ },
32
+ uat: {
33
+ host1: 'uat-apalb01a.edc.docupace.internal',
34
+ host2: 'uat-apalb01b.edc.docupace.internal',
35
+ repo: 'iis-www2',
36
+ },
37
+ stage: {
38
+ host1: 'stg-apalb01a.edc.docupace.internal',
39
+ host2: 'stg-apalb01b.edc.docupace.internal',
40
+ repo: 'iis-www2',
41
+ },
42
+ };
43
+
44
+ // Save private key from base64
45
+ const haproxyPrivateKey = process.env.HAPROXY_PRIVATE_KEY;
46
+ if (!haproxyPrivateKey) {
47
+ log('Error: HAPROXY_PRIVATE_KEY not set.');
48
+ process.exit(1);
49
+ }
50
+
51
+ await fs.writeFile('private.key', Buffer.from(haproxyPrivateKey, 'base64'));
52
+ await fs.chmod('private.key', 0o600);
53
+
54
+ console.log('Running command');
55
+ const sshCmd = (server, script) =>
56
+ $`ssh -i private.key -o StrictHostKeyChecking=no root@${server} ${script}`;
57
+
58
+ // The script is run twice in the Bash version
59
+ await sshCmd(
60
+ apacheEnvHostMap[process.env.ENVIRONMENT].host1,
61
+ `/root/repo/${apacheEnvHostMap[process.env.ENVIRONMENT].repo}/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`,
62
+ );
63
+
64
+ await sshCmd(
65
+ apacheEnvHostMap[process.env.ENVIRONMENT].host2,
66
+ `/root/repo/${apacheEnvHostMap[process.env.ENVIRONMENT].repo}/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`,
67
+ );
68
+ }
@@ -14,8 +14,14 @@ export async function haproxySync() {
14
14
 
15
15
  // Create haproxy.sh
16
16
  const cluserHostMap = {
17
- preprod: '10.10.28.198',
18
- stage: '10.12.28.10',
17
+ preprod: {
18
+ host: '10.10.28.198',
19
+ branch: 'master',
20
+ },
21
+ stage: {
22
+ host: '10.12.28.10',
23
+ branch: 'INFP-6565-haproxy-prod-implementation',
24
+ },
19
25
  };
20
26
 
21
27
  const scriptContent = `
@@ -25,13 +31,14 @@ export async function haproxySync() {
25
31
  cd ${repoPath}
26
32
  pwd
27
33
  git stash
34
+ git fetch --all
28
35
  git pull origin master
29
- git checkout master
36
+ git checkout ${cluserHostMap[cluster].branch}
30
37
  git submodule update --remote
31
38
  git submodule foreach --recursive git checkout master
32
39
  git submodule foreach --recursive git pull origin master
33
40
 
34
- ansible-playbook -i inventories/${cluster}/inventory haproxy.yml -e "cluster=${cluster}"
41
+ ansible-playbook -i inventories/${cluster}/inventory haproxy.yml -e "cluster=${cluster} -e build=true"
35
42
 
36
43
  echo "proceeding"
37
44
  echo "committing changes"
@@ -53,8 +60,8 @@ export async function haproxySync() {
53
60
  await fs.chmod('private.key', 0o600);
54
61
 
55
62
  // Copy script to remote
56
- await $`scp -i private.key -o StrictHostKeyChecking=no haproxy.sh root@${cluserHostMap[cluster]}:/tmp/haproxy.sh`;
63
+ await $`scp -i private.key -o StrictHostKeyChecking=no haproxy.sh root@${cluserHostMap[cluster].host}:/tmp/haproxy.sh`;
57
64
 
58
65
  // Execute script on remote
59
- await $`ssh -i private.key -o StrictHostKeyChecking=no root@${cluserHostMap[cluster]} "bash /tmp/haproxy.sh"`;
66
+ await $`ssh -i private.key -o StrictHostKeyChecking=no root@${cluserHostMap[cluster].host} "bash /tmp/haproxy.sh"`;
60
67
  }