This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
const required = [
|
||||
'ENVIRONMENT',
|
||||
'STACK_NAME',
|
||||
'RELEASE_ID',
|
||||
'COMMIT_SHA',
|
||||
'WEB_IMAGE',
|
||||
'PUBLIC_HOST',
|
||||
'TRAEFIK_NETWORK',
|
||||
'SWARM_MANAGER_HOST',
|
||||
'SWARM_SSH_USER',
|
||||
];
|
||||
|
||||
const missing = required.filter((name) => !process.env[name]);
|
||||
if (missing.length > 0) {
|
||||
console.error(`Missing required deploy variables: ${missing.join(', ')}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (!/@sha256:[a-f0-9]{64}$/i.test(process.env.WEB_IMAGE ?? '')) {
|
||||
console.error(`WEB_IMAGE must be pinned by immutable digest, got: ${process.env.WEB_IMAGE}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log(
|
||||
JSON.stringify({
|
||||
event: 'predeploy_check_passed',
|
||||
environment: process.env.ENVIRONMENT,
|
||||
stack: process.env.STACK_NAME,
|
||||
releaseId: process.env.RELEASE_ID,
|
||||
commitSha: process.env.COMMIT_SHA,
|
||||
}),
|
||||
);
|
||||
Reference in New Issue
Block a user