Skip to main content

A construct that encapsulates different building methods, e.g. for Node, Rust, Docker.

Project description

CDKTF Local Build Construct

A simple construct that runs builds for different languages locally. Currently, it supports: docker. I plan on adding rust (cargo) and node (npm) support as well.

Usage

import { Provider, DockerBuild, DockerizedBuild } from "cdktf-local-build";

// Local Build extends LocalExec which extends from the null provider,
// so if you already have the provider initialized you can skip this step
new Provider(this, "local-build");

new DockerBuild(this, "docker-backend", {
  cwd: "/path/to/project/backend",
  dockerfile: "Dockerfile.backend",
  image: "cdktf/backend:latest",
  push: false, // defaults to true
});

new DockerizedBuild(this, "my-go-backend", {
  cwd: "/path/to/project/backend",
  command: "go build -o /tmp/backend",
  imageHomeDirectory: "/tmp/backend",
  platform: "linux/arm64",
  image: "go-builder-image:latest",
  setUser: true,
});

DockerBuild

Builds a docker image locally.

Options

  • cwd: The working directory to run the command in.
  • dockerfile: The Dockerfile to use.
  • image: The tag to use for the image.
  • push: If true, docker push <tag> is executed after the run.

DockerizedBuild

Build an artifact inside a docker image.

Options

  • cwd: The working directory to run the command in.
  • command: Build command to run int the docker image.
  • image: The tag to use for the building image.
  • imageHomeDirectory: The home directory to use inside the image.
  • platform: The platform to build for (sets docker platform flag).
  • setUser: If true, the user will be set to the current user inside docker.

CrossBuild

Builds a rust binary using cross (cross runs it inside a docker container). Please make sure cross is installed on the host machine by running cargo install cross.

Options

  • arch: The architecture to build for (arm or x86).
  • projectName: The name specified in the Cargo.toml.
  • cwd: The working directory to run the command in.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdktf-local-build-0.0.63.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

cdktf_local_build-0.0.63-py3-none-any.whl (54.0 kB view details)

Uploaded Python 3

File details

Details for the file cdktf-local-build-0.0.63.tar.gz.

File metadata

  • Download URL: cdktf-local-build-0.0.63.tar.gz
  • Upload date:
  • Size: 55.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for cdktf-local-build-0.0.63.tar.gz
Algorithm Hash digest
SHA256 cad9e930a20ff38b462f75862d0445f37079e475f6c5e53170c0a9d5dd8afcf9
MD5 8f454a0c8038b4df28d97af0dd1d1fef
BLAKE2b-256 8480f8e6bab3471125a17c8b2f62d4fc999e0fa2fb53549e4eb7d910eb6029b4

See more details on using hashes here.

File details

Details for the file cdktf_local_build-0.0.63-py3-none-any.whl.

File metadata

  • Download URL: cdktf_local_build-0.0.63-py3-none-any.whl
  • Upload date:
  • Size: 54.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for cdktf_local_build-0.0.63-py3-none-any.whl
Algorithm Hash digest
SHA256 699a0d900c5cb8ddce985af924dc0e92b08a632adaa6b46a76adbf4872a32c6e
MD5 8763eedd09d1f3ba5a96d4576313b0df
BLAKE2b-256 8134a3dc772ebac5294e83e7bd015c861307c469b4e1728fcd6ef8ea3d29daa5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page