fix: ENV variables set differently

This commit is contained in:
Andras Bacsai 2022-02-10 21:43:54 +01:00
parent ae6f325c0a
commit 82de234f21
3 changed files with 24 additions and 12 deletions

View File

@ -1,7 +1,7 @@
{
"name": "coolify",
"description": "An open-source & self-hostable Heroku / Netlify alternative.",
"version": "2.0.0",
"version": "2.0.2",
"license": "AGPL-3.0",
"scripts": {
"dev": "docker-compose -f docker-compose-dev.yaml up -d && NODE_ENV=development svelte-kit dev --host 0.0.0.0",

View File

@ -1,4 +1,5 @@
import crypto from 'crypto';
import fs from 'fs/promises';
import * as buildpacks from '../buildPacks';
import * as importers from '../importers';
import { dockerInstance } from '../docker';
@ -208,10 +209,11 @@ export default async function (job) {
if (secrets.length > 0) {
secrets.forEach((secret) => {
if (!secret.isBuildSecret) {
envs.push(`--env ${secret.name}=${secret.value}`);
envs.push(`${secret.name}=${secret.value}`);
}
});
}
await fs.writeFile(`${workdir}/.env`, envs.join('\n'));
const labels = makeLabelForStandaloneApplication({
applicationId,
fqdn,
@ -230,14 +232,20 @@ export default async function (job) {
baseDirectory,
publishDirectory
});
saveBuildLog({ line: 'Deployment started.', buildId, applicationId });
const { stderr } = await asyncExecShell(
`DOCKER_HOST=${host} docker run ${envs.join(' ')} ${labels.join(
' '
)} --name ${imageId} --network ${docker.network} --restart always -d ${applicationId}:${tag}`
);
if (stderr) console.log(stderr);
saveBuildLog({ line: 'Deployment successful!', buildId, applicationId });
try {
saveBuildLog({ line: 'Deployment started.', buildId, applicationId });
const { stderr } = await asyncExecShell(
`DOCKER_HOST=${host} docker run --env-file=${workdir}/.env ${labels.join(
' '
)} --name ${imageId} --network ${
docker.network
} --restart always -d ${applicationId}:${tag}`
);
if (stderr) console.log(stderr);
saveBuildLog({ line: 'Deployment successful!', buildId, applicationId });
} catch (error) {
throw new Error(error);
}
if (destinationDockerId && destinationDocker.isCoolifyProxyUsed) {
saveBuildLog({ line: 'Proxy configuration started!', buildId, applicationId });

View File

@ -120,7 +120,9 @@ buildWorker.on('completed', async (job: Bullmq.Job) => {
} catch (err) {
console.log(err);
} finally {
await asyncExecShell(`rm -fr ${job.data.workdir}`);
const workdir = `/tmp/build-sources/${job.data.repository}/${job.data.build_id}`;
await asyncExecShell(`rm -fr ${workdir}`);
await asyncExecShell(`rm /tmp/build-sources/${job.data.repository}/id.rsa`);
}
return;
});
@ -132,7 +134,9 @@ buildWorker.on('failed', async (job: Bullmq.Job, failedReason) => {
} catch (error) {
console.log(error);
} finally {
await asyncExecShell(`rm -fr ${job.data.workdir}`);
const workdir = `/tmp/build-sources/${job.data.repository}/${job.data.build_id}`;
await asyncExecShell(`rm -fr ${workdir}`);
await asyncExecShell(`rm /tmp/build-sources/${job.data.repository}/id.rsa`);
}
saveBuildLog({ line: 'Failed build!', buildId: job.data.build_id, applicationId: job.data.id });
saveBuildLog({