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
orx86
).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.82.tar.gz
(56.1 kB
view details)
Built Distribution
File details
Details for the file cdktf-local-build-0.0.82.tar.gz
.
File metadata
- Download URL: cdktf-local-build-0.0.82.tar.gz
- Upload date:
- Size: 56.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 058e9410e0864d8c940e3f944eb1c5dc34f34228a77cb6fcc2a555f2e4985f5f |
|
MD5 | 9eb7d5519dbc5eff87afa9d1b9c1c10c |
|
BLAKE2b-256 | f29bcfbf38b9626cc06e7abc8d48a7966d863373ce79e6e2fb5d46a5b436d76f |
File details
Details for the file cdktf_local_build-0.0.82-py3-none-any.whl
.
File metadata
- Download URL: cdktf_local_build-0.0.82-py3-none-any.whl
- Upload date:
- Size: 54.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea0c729c52df7f2f3d0adb9a4bbb0a1585cb4242712049b58fd4ff67640b5595 |
|
MD5 | 05cdb9fc8c103c99f23b030fe32ab5cb |
|
BLAKE2b-256 | 741112e8916642f52b5a1954b6f3d613b0e8db8adbadd5697f75c6add66cee62 |