@docupace/pipeline 1.0.7-alpha.ervins1.2 → 1.0.7-alpha.ervins1.20

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/next/connect.js +70 -51
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/pipeline",
3
- "version": "1.0.7-alpha.ervins1.2",
3
+ "version": "1.0.7-alpha.ervins1.20",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -22,7 +22,8 @@ import {
22
22
  process.env.COMMON_VAULT_PATH = process.env.COMMON_VAULT_PATH || 'secret/data/common/config';
23
23
  process.env.VAULT_SKIP_VERIFY = process.env.VAULT_SKIP_VERIFY || 'true';
24
24
  process.env.CONNECT_DIR = process.env.CONNECT_DIR || 'connect';
25
-
25
+ const vaultToken = process.env.VAULT_TOKEN;
26
+ const vaultAddr = process.env.VAULT_ADDR;
26
27
 
27
28
  function log(msg) {
28
29
  console.log(`[*] ${msg}`);
@@ -40,22 +41,19 @@ function log(msg) {
40
41
  log(`Cloning ${destDir} repository...`);
41
42
  }
42
43
 
43
- // Since we use zx, the environment variables can be read from process.env
44
- // e.g. $BITBUCKET_USERNAME, $BITBUCKET_APP_PASSWORD
45
44
  const username = process.env.BITBUCKET_USERNAME;
46
45
  const password = process.env.BITBUCKET_APP_PASSWORD;
47
46
 
48
47
  // Construct clone command
49
48
  const cloneUrl = `https://${username}:${password}@bitbucket.org/dp-cloud/${repository}.git`;
50
49
 
51
- // Perform the clone
50
+ log(`Perform cloning`);
52
51
  await $`git clone --branch=${branch} --depth 1 ${cloneUrl} ${destDir}`;
53
52
  }
54
53
 
55
54
 
56
55
 
57
- const vaultToken = process.env.VAULT_TOKEN;
58
- const vaultAddr = process.env.VAULT_ADDR;
56
+
59
57
 
60
58
 
61
59
  export async function connectClone() {
@@ -96,74 +94,95 @@ export async function connectClone() {
96
94
  log(`AUTH0_CLIENT_ID: ${process.env.AUTH0_CLIENT_ID}`);
97
95
 
98
96
  process.env.AUTH0_DOMAIN = `${process.env.AUTH0_SUBDOMAIN}.${process.env.AUTH0_REGION_DOMAIN}`;
99
-
97
+
98
+
99
+ const projectRoot = process.cwd();
100
100
  // 4) Clone 'connect-deploy' into CONNECT_DIR
101
- await gitCheckout('connect-deploy', process.env.CONNECT_DIR);
101
+
102
102
 
103
+ await gitCheckout('connect-deploy', process.env.CONNECT_DIR);
104
+ await gitCheckout(`${process.env.BUILD_ENVIRONMENT}-site-settings`, `${process.env.CONNECT_DIR}/${process.env.BUILD_ENVIRONMENT}-site-settings`);
105
+
103
106
  // 5) Create site clone (emulating the dock.sh call)
104
- const cloneFrom = `${process.env.FROM_BUILD_ENVIRONMENT}/${process.env.FROM_BUILD_SITE}`;
105
- const projectRoot = path;
106
- console.log(projectRoot);
107
- console.log($`find .`);
108
- const projectHome = path.resolve(process.env.CONNECT_DIR);
109
- console.log(projectHome);
110
-
111
- const cloneFromPath = path.join(projectHome, 'envs', cloneFrom);
112
- if (!(await fs.pathExists(cloneFromPath))) {
113
- log('Clone template directory not found');
107
+ const cloneFrom = path.join(projectRoot,process.env.CONNECT_DIR,`envs`,`${process.env.FROM_BUILD_ENVIRONMENT}/${process.env.FROM_BUILD_SITE}`);
108
+ const cloneTo = path.join(projectRoot,process.env.CONNECT_DIR,`envs`,`${process.env.BUILD_ENVIRONMENT}/${process.env.BUILD_SITE}`);
109
+
110
+ const connectHome = path.join(projectRoot,process.env.CONNECT_DIR);
111
+ if (!(await fs.pathExists(cloneFrom))) {
112
+ log('Clone template directory not found:');
114
113
  process.exit(1);
115
114
  }
116
115
 
117
- const newSitePath = path.join(
118
- projectHome,
119
- 'envs',
120
- process.env.BUILD_ENVIRONMENT,
121
- process.env.BUILD_SITE
122
- );
123
116
 
124
- if (!(await fs.pathExists(newSitePath))) {
117
+ if (!(await fs.pathExists(cloneTo))) {
125
118
  log('New site does not exist. Performing cloning...');
126
- // This is where the bash script does: bash dock.sh clone ...
127
- // We'll replicate with zx:
128
- process.env.IMAGE_VERSION=$`cd ${cloneFromPath} && grep -E '^IMAGE_VERSION=' dock.sh | cut -f2 -d=`
129
- await $`cd ${targetSitePath} && bash dock.sh clone ${process.env.BUILD_ENVIRONMENT} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
119
+
120
+ process.env.IMAGE_VERSION=await $`cd ${cloneFrom} && grep -E '^IMAGE_VERSION=' dock.sh | cut -f2 -d=`
121
+ log(`Image version: ${process.env.IMAGE_VERSION}` );
122
+ //await $`cd ${cloneFrom} && bash dock.sh clone ${process.env.BUILD_ENVIRONMENT} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
123
+ await (async () => {
124
+ try {
125
+ // Execute the shell command
126
+ const result = await $`cd ${cloneFrom} && bash dock.sh clone ${process.env.BUILD_ENVIRONMENT} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
127
+ console.log('Command succeeded:');
128
+ console.log('stdout:', result.stdout); // Standard output
129
+ console.log('stderr:', result.stderr); // Standard error
130
+ } catch (error) {
131
+ console.error('Command failed:');
132
+ console.error('Exit Code:', error._code); // Exit code of the command
133
+ console.error('Signal:', error._signal); // Signal that caused termination (if any)
134
+ console.error('stdout:', error._stdout); // Standard output
135
+ console.error('stderr:', error._stderr); // Standard error
136
+ }
137
+ })();
138
+
139
+
130
140
  } else {
131
141
  log('Site already exists. Continuing Auth0 setup...');
132
142
  }
133
143
 
134
- // 6) Retrieve Auth0 metadata
135
- const targetSitePath = path.join(
136
- projectHome,
137
- 'envs',
138
- process.env.BUILD_ENVIRONMENT,
139
- process.env.BUILD_SITE
140
- );
141
- await $`cd ${targetSitePath} && bash dock.sh getAuth0Metadata`;
142
-
144
+
145
+ await (async () => {
146
+ try {
147
+ // Execute the shell command
148
+ const result = await $`cd ${cloneTo} && bash dock.sh getAuth0Metadata`;
149
+ console.log('Command succeeded:');
150
+ console.log('stdout:', result.stdout); // Standard output
151
+ console.log('stderr:', result.stderr); // Standard error
152
+ } catch (error) {
153
+ console.error('Command failed:');
154
+ console.error('Exit Code:', error._code); // Exit code of the command
155
+ console.error('Signal:', error._signal); // Signal that caused termination (if any)
156
+ console.error('stdout:', error._stdout); // Standard output
157
+ console.error('stderr:', error._stderr); // Standard error
158
+ }
159
+ })();
160
+
161
+
143
162
  // 7) Check conf files, print logs
144
- await $`grep "auth0" ${path.join(targetSitePath, 'conf/application.conf')}`;
145
- await $`ls -all ${path.join(targetSitePath, 'conf')}`;
146
- await $`ls -all ${path.join(targetSitePath, 'conf/saml')}`;
147
- await $`cat ${path.join(targetSitePath, 'conf/saml/auth0.xml')}`;
163
+ await $`grep "auth0" ${path.join(cloneTo, 'conf/application.conf')}`;
164
+ await $`ls -all ${path.join(cloneTo, 'conf')}`;
165
+ await $`ls -all ${path.join(cloneTo, 'conf/saml')}`;
166
+ await $`cat ${path.join(cloneTo, 'conf/saml/auth0.xml')}`;
148
167
 
149
168
  // 8) Git add, commit, push
150
- await $`cd ${targetSitePath} && git checkout master && git pull --ff-only`;
151
- await $`cd ${targetSitePath} && git remote -v`;
152
- await $`cd ${targetSitePath} && git branch`;
153
- await $`cd ${targetSitePath} && git status`;
154
- await $`cd ${targetSitePath} && git add . ../sites.sh`;
155
- await $`cd ${targetSitePath} && git status`;
169
+ await $`cd ${cloneTo} && git checkout master && git pull --ff-only`;
170
+ await $`cd ${cloneTo} && git remote -v`;
171
+ await $`cd ${cloneTo} && git branch`;
172
+ await $`cd ${cloneTo} && git status`;
173
+ await $`cd ${cloneTo} && git add . ../sites.sh`;
174
+ await $`cd ${cloneTo} && git status`;
156
175
 
157
176
  const numChanges = (
158
- await $`cd ${targetSitePath} && git diff-index HEAD`
177
+ await $`cd ${cloneTo} && git diff-index HEAD`
159
178
  ).stdout.split('\n').filter(Boolean).length;
160
179
 
161
180
  if (numChanges > 0) {
162
181
  const jiraTicket = process.env.JIRA_TICKET || 'NO_JIRA';
163
182
  const message = `${jiraTicket} usdoc-s-builui job download_auth0_metadata for ${process.env.BUILD_ENVIRONMENT}/${process.env.BUILD_SITE}`;
164
183
  log('About to commit changes to git');
165
- await $`cd ${targetSitePath} && git commit -m ${message}`;
166
- await $`cd ${targetSitePath} && git push -u origin master`;
184
+ await $`cd ${cloneTo} && git commit -m ${message}`;
185
+ await $`cd ${cloneTo} && git push -u origin master`;
167
186
  } else {
168
187
  log('No changes have been made. The site likely already has the correct configuration.');
169
188
  }