@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.
- package/package.json +1 -1
- package/src/next/connect.js +70 -51
package/package.json
CHANGED
package/src/next/connect.js
CHANGED
|
@@ -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
|
-
|
|
50
|
+
log(`Perform cloning`);
|
|
52
51
|
await $`git clone --branch=${branch} --depth 1 ${cloneUrl} ${destDir}`;
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
|
|
56
55
|
|
|
57
|
-
|
|
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
|
-
|
|
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 =
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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(
|
|
117
|
+
if (!(await fs.pathExists(cloneTo))) {
|
|
125
118
|
log('New site does not exist. Performing cloning...');
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
process.env.IMAGE_VERSION
|
|
129
|
-
await $`cd ${
|
|
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
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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(
|
|
145
|
-
await $`ls -all ${path.join(
|
|
146
|
-
await $`ls -all ${path.join(
|
|
147
|
-
await $`cat ${path.join(
|
|
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 ${
|
|
151
|
-
await $`cd ${
|
|
152
|
-
await $`cd ${
|
|
153
|
-
await $`cd ${
|
|
154
|
-
await $`cd ${
|
|
155
|
-
await $`cd ${
|
|
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 ${
|
|
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 ${
|
|
166
|
-
await $`cd ${
|
|
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
|
}
|