magnificent-soccer-44287
10/14/2023, 9:29 PMconst pmbMainDockerImage = new docker.Image("pmb-main", {
build: stackExists ? {
args: {
BUILDKIT_INLINE_CACHE: "1"
},
platform: "linux/amd64",
builderVersion: "BuilderBuildKit",
cacheFrom: {
images: [pulumi.interpolate`${pmbMainEcr.url}:latest`],
},
context: "../../",
dockerfile: "../../.cicd/imageFiles/Dockerfile",
} : {
platform: "linux/amd64",
builderVersion: "BuilderBuildKit",
context: "../../",
dockerfile: "../../.cicd/imageFiles/Dockerfile",
},
to enable build cache/acceleration if it will not crash.const stackRef = new pulumi.StackReference(`pmb/${getProject()}/${getStack()}`);
const stackOutput = stackRef.getOutput('pmbMainDockerImageFull');
let pmbMainDockerImage: docker.Image = {} as docker.Image;
stackOutput.apply(stackOutput => {
pmbMainDockerImage = new docker.Image("pmb-main", {
build: stackOutput ? {
but results in:
warning: Undefined value (pmbMainDockerImageURI) will not show as a stack output.
warning: Undefined value (pmbMainDockerImageFull) will not show as a stack output.
const stackRef = new pulumi.StackReference(`pmb/${getProject()}/${getStack()}`);
const stackOutput = stackRef.getOutput('pmbMainDockerImageFull');
const pmbMainDockerImage = new docker.Image("pmb-main", {
build: stackOutput.apply(x => {
console.log(`stackExists = ${!!x}`);
return (!!x) ? {
args: {
BUILDKIT_INLINE_CACHE: "1"
},
platform: "linux/amd64",
builderVersion: "BuilderBuildKit",
cacheFrom: {
images: [pulumi.interpolate`${pmbMainEcr.url}:latest`],
},
context: "../../",
dockerfile: "../../.cicd/imageFiles/Dockerfile",
} : {
platform: "linux/amd64",
builderVersion: "BuilderBuildKit",
context: "../../",
dockerfile: "../../.cicd/imageFiles/Dockerfile",
}
}) as pulumi.Input<docker.types.input.DockerBuild>,
imageName: pulumi.interpolate`${pmbMainEcr.url}:latest`,
registry: {
password: pulumi.secret(aws.ecr.getAuthorizationTokenOutput({
registryId: pmbMainEcr.repository.registryId,
}).apply(authToken => authToken.password)),
server: pmbMainEcr.url,
},
skipPush: skipDockerImagePush
});