Skip to content

Commit

Permalink
Script improvment (#3111)
Browse files Browse the repository at this point in the history
* dockerfile remove warnings

* optimization

* update

* cancel parachain image build --pull flag

* rm test message

* keep the old logic: if no tag is given, use 'latest'.

---------

Co-authored-by: mi1ktea <[email protected]>
  • Loading branch information
BillyWooo and m1iktea authored Oct 14, 2024
1 parent 2dbaa33 commit 419f861
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 60 deletions.
12 changes: 6 additions & 6 deletions parachain/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ LABEL maintainer="Trust Computing GmbH <[email protected]>"

ARG PROFILE

COPY --from=builder /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/
COPY --from=local-builder:latest /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/

# install netcat for healthcheck
RUN apt-get update && \
Expand Down Expand Up @@ -58,8 +58,8 @@ FROM ubuntu:22.04 AS chain-aio
LABEL maintainer="Trust Computing GmbH <[email protected]>"

ARG PROFILE
ENV NVM_DIR /opt/nvm
ENV ZOMBIENET_VERSION v1.3.109
ENV NVM_DIR=/opt/nvm
ENV ZOMBIENET_VERSION=v1.3.109

# install netcat for healthcheck
RUN apt-get update && \
Expand All @@ -84,7 +84,7 @@ RUN apt-get update && \
nvm install 18 && \
nvm use 18 && \
apt-get clean && \
rm -rf /var/cache/apt/lists
rm -rf /var/cache/apt/lists

RUN echo "downloading zombienet-linux-x64 ..." && \
curl -L -s -O "https://github.com/paritytech/zombienet/releases/download/$ZOMBIENET_VERSION/zombienet-linux-x64" && \
Expand All @@ -95,8 +95,8 @@ RUN echo "downloading zombienet-linux-x64 ..." && \
RUN useradd -m -u 1000 -U -s /bin/sh -d /litentry litentry && \
mkdir -p /opt/litentry/parachain /code && \
chown -R litentry:litentry /opt/litentry
COPY --from=builder /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/

COPY --from=local-builder:latest /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/
RUN chmod +x /usr/local/bin/litentry-collator && \
# check if executable works in this container
/usr/local/bin/litentry-collator --version
Expand Down
59 changes: 39 additions & 20 deletions parachain/scripts/build-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ GITUSER=litentry
GITREPO=litentry-parachain
PROXY="${HTTP_PROXY//localhost/host.docker.internal}"

# Build the image
# Build the local-builder image
echo "------------------------------------------------------------"
echo "Building ${GITUSER}/${GITREPO}:${TAG} docker image ..."
echo "Building local-builder:latest docker image ..."
docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \
--build-arg PROFILE="$PROFILE" \
--build-arg BUILD_ARGS="$ARGS" \
Expand All @@ -59,26 +59,15 @@ docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \
--build-arg https_proxy="$PROXY" \
--add-host=host.docker.internal:host-gateway \
--network host \
--target parachain \
-t ${GITUSER}/${GITREPO}:${TAG} .

# Tag it with latest if no tag parameter was provided
[ -z "$2" ] && docker tag ${GITUSER}/${GITREPO}:${TAG} ${GITUSER}/${GITREPO}:latest

# Show the list of available images for this repo
echo "Image is ready"
echo "------------------------------------------------------------"
docker images | grep ${GITREPO}
--target builder \
--tag local-builder:latest .

# ===================================================================================
GITUSER=litentry
GITREPO=litentry-chain-aio
PROXY="${HTTP_PROXY//localhost/host.docker.internal}"
docker images

# Build the image
echo "------------------------------------------------------------"
echo "Building ${GITUSER}/${GITREPO}:${TAG} docker image ..."
docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \
docker build ${NOCACHE_FLAG} -f ./parachain/docker/Dockerfile \
--build-arg PROFILE="$PROFILE" \
--build-arg BUILD_ARGS="$ARGS" \
--build-arg HTTP_PROXY="$PROXY" \
Expand All @@ -87,13 +76,43 @@ docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \
--build-arg https_proxy="$PROXY" \
--add-host=host.docker.internal:host-gateway \
--network host \
--target chain-aio \
-t ${GITUSER}/${GITREPO}:${TAG} .
--target parachain \
--tag ${GITUSER}/${GITREPO}:${TAG} .

# Tag it with latest if no tag parameter was provided
[ -z "$2" ] && docker tag ${GITUSER}/${GITREPO}:${TAG} ${GITUSER}/${GITREPO}:latest

# Show the list of available images for this repo
echo "Image is ready"
echo "------------------------------------------------------------"
docker images | grep ${GITREPO}
docker images | grep ${GITREPO}

# ===================================================================================
if [ -z "$2" ] || [ "$TAG" = "latest" ]; then
GITUSER=litentry
GITREPO=litentry-chain-aio
PROXY="${HTTP_PROXY//localhost/host.docker.internal}"

# Build the image
echo "------------------------------------------------------------"
echo "Building ${GITUSER}/${GITREPO}:${TAG} docker image ..."
docker build ${NOCACHE_FLAG} -f ./parachain/docker/Dockerfile \
--build-arg PROFILE="$PROFILE" \
--build-arg BUILD_ARGS="$ARGS" \
--build-arg HTTP_PROXY="$PROXY" \
--build-arg HTTPS_PROXY="$PROXY" \
--build-arg http_proxy="$PROXY" \
--build-arg https_proxy="$PROXY" \
--add-host=host.docker.internal:host-gateway \
--network host \
--target chain-aio \
--tag ${GITUSER}/${GITREPO}:${TAG} .

# Tag it with latest if no tag parameter was provided
[ -z "$2" ] && docker tag ${GITUSER}/${GITREPO}:${TAG} ${GITUSER}/${GITREPO}:latest

# Show the list of available images for this repo
echo "Image is ready"
echo "------------------------------------------------------------"
docker images | grep ${GITREPO}
fi
32 changes: 16 additions & 16 deletions tee-worker/bitacross/build.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ FROM litentry/litentry-tee-dev:latest AS builder
LABEL maintainer="Trust Computing GmbH <[email protected]>"

# set environment variables
ENV SGX_SDK /opt/sgxsdk
ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"
ENV CARGO_NET_GIT_FETCH_WITH_CLI true
ENV SGX_SDK=/opt/sgxsdk
ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"
ENV CARGO_NET_GIT_FETCH_WITH_CLI=true

ENV SCCACHE_CACHE_SIZE="20G"
ENV SCCACHE_DIR="/opt/rust/sccache"
Expand Down Expand Up @@ -81,8 +81,8 @@ LABEL maintainer="Trust Computing GmbH <[email protected]>"
ARG SCRIPT_DIR=/usr/local/worker-cli
ARG LOG_DIR=/usr/local/log

ENV SCRIPT_DIR ${SCRIPT_DIR}
ENV LOG_DIR ${LOG_DIR}
ENV SCRIPT_DIR=${SCRIPT_DIR}
ENV LOG_DIR=${LOG_DIR}

COPY --from=local-builder:latest /home/ubuntu/tee-worker/bitacross/bin/bitacross-cli /usr/local/bin
COPY --from=local-builder:latest /home/ubuntu/tee-worker/bitacross/cli/*.sh /usr/local/worker-cli/
Expand Down Expand Up @@ -114,8 +114,8 @@ RUN chmod +x /usr/local/bin/bitacross-worker
RUN ls -al /usr/local/bin

# checks
ENV SGX_SDK /opt/sgxsdk
ENV SGX_ENCLAVE_SIGNER $SGX_SDK/bin/x64/sgx_sign
ENV SGX_SDK=/opt/sgxsdk
ENV SGX_ENCLAVE_SIGNER=$SGX_SDK/bin/x64/sgx_sign
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/sgx-aesm-service/aesm:$SGX_SDK/sdk_libs

Check warning on line 119 in tee-worker/bitacross/build.Dockerfile

View workflow job for this annotation

GitHub Actions / bitacross-build

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$LD_LIBRARY_PATH' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/
ENV AESM_PATH=/opt/intel/sgx-aesm-service/aesm

Expand Down Expand Up @@ -148,12 +148,12 @@ COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libsgx* /lib/x86_64-linux
COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libdcap* /lib/x86_64-linux-gnu/
COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libprotobuf* /lib/x86_64-linux-gnu/

ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm
ENV SGX_SDK /opt/sgxsdk
ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"
ENV DEBIAN_FRONTEND=noninteractive
ENV TERM=xterm
ENV SGX_SDK=/opt/sgxsdk
ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"

RUN mkdir -p /origin /data

Expand All @@ -171,7 +171,7 @@ RUN touch spid.txt key.txt && \

RUN ldd /usr/local/bin/bitacross-worker && /usr/local/bin/bitacross-worker --version

ENV DATA_DIR /data
ENV DATA_DIR=/data

USER litentry
WORKDIR /data
Expand Down
2 changes: 1 addition & 1 deletion tee-worker/bitacross/docker/fork.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ COPY --from=gaiaadm/pumba /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-c
COPY --from=gaiaadm/pumba /pumba /usr/local/bin/pumba
COPY --from=powerman/dockerize /usr/local/bin/dockerize /usr/local/bin/dockerize

ENV PATH "$PATH:/usr/local/bin"
ENV PATH="$PATH:/usr/local/bin"

ENTRYPOINT ["/usr/local/bin/dockerize"]
32 changes: 16 additions & 16 deletions tee-worker/identity/build.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ FROM litentry/litentry-tee-dev:latest AS builder
LABEL maintainer="Trust Computing GmbH <[email protected]>"

# set environment variables
ENV SGX_SDK /opt/sgxsdk
ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"
ENV CARGO_NET_GIT_FETCH_WITH_CLI true
ENV SGX_SDK=/opt/sgxsdk
ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"
ENV CARGO_NET_GIT_FETCH_WITH_CLI=true

ENV SCCACHE_CACHE_SIZE="20G"
ENV SCCACHE_DIR="/opt/rust/sccache"
Expand Down Expand Up @@ -97,8 +97,8 @@ LABEL maintainer="Trust Computing GmbH <[email protected]>"
ARG SCRIPT_DIR=/usr/local/worker-cli
ARG LOG_DIR=/usr/local/log

ENV SCRIPT_DIR ${SCRIPT_DIR}
ENV LOG_DIR ${LOG_DIR}
ENV SCRIPT_DIR=${SCRIPT_DIR}
ENV LOG_DIR=${LOG_DIR}

COPY --from=local-builder:latest /home/ubuntu/tee-worker/identity/bin/litentry-cli /usr/local/bin
COPY --from=local-builder:latest /home/ubuntu/tee-worker/identity/cli/*.sh /usr/local/worker-cli/
Expand Down Expand Up @@ -130,8 +130,8 @@ RUN chmod +x /usr/local/bin/litentry-worker
RUN ls -al /usr/local/bin

# checks
ENV SGX_SDK /opt/sgxsdk
ENV SGX_ENCLAVE_SIGNER $SGX_SDK/bin/x64/sgx_sign
ENV SGX_SDK=/opt/sgxsdk
ENV SGX_ENCLAVE_SIGNER=$SGX_SDK/bin/x64/sgx_sign
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/sgx-aesm-service/aesm:$SGX_SDK/sdk_libs

Check warning on line 135 in tee-worker/identity/build.Dockerfile

View workflow job for this annotation

GitHub Actions / identity-build

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$LD_LIBRARY_PATH' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/
ENV AESM_PATH=/opt/intel/sgx-aesm-service/aesm

Expand Down Expand Up @@ -164,12 +164,12 @@ COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libsgx* /lib/x86_64-linux
COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libdcap* /lib/x86_64-linux-gnu/
COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libprotobuf* /lib/x86_64-linux-gnu/

ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm
ENV SGX_SDK /opt/sgxsdk
ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"
ENV DEBIAN_FRONTEND=noninteractive
ENV TERM=xterm
ENV SGX_SDK=/opt/sgxsdk
ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin"
ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig"
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs"

RUN mkdir -p /origin /data

Expand All @@ -187,7 +187,7 @@ RUN touch spid.txt key.txt && \

RUN ldd /usr/local/bin/litentry-worker && /usr/local/bin/litentry-worker --version

ENV DATA_DIR /data
ENV DATA_DIR=/data

USER litentry
WORKDIR /data
Expand Down
2 changes: 1 addition & 1 deletion tee-worker/identity/docker/fork.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ COPY --from=gaiaadm/pumba /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-c
COPY --from=gaiaadm/pumba /pumba /usr/local/bin/pumba
COPY --from=powerman/dockerize /usr/local/bin/dockerize /usr/local/bin/dockerize

ENV PATH "$PATH:/usr/local/bin"
ENV PATH="$PATH:/usr/local/bin"

ENTRYPOINT ["/usr/local/bin/dockerize"]

0 comments on commit 419f861

Please sign in to comment.