From 6f541469a1ccda508aa92ad3735d8c2fde5b90a9 Mon Sep 17 00:00:00 2001 From: CaiHQ Date: Fri, 3 Dec 2021 09:16:35 +0800 Subject: [PATCH] add docker scripts --- build.gradle | 4 +--- docker/AgentDockerfile | 15 +++++++++++++++ docker/buildAgentDocker.sh | 28 ++++++++++++++++++++++++++++ docker/buildClusterDocker.sh | 22 ++++++++++++++++++++++ docker/prepareVersion.sh | 19 +++++++++++++++++++ front-base | 2 +- 6 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 docker/AgentDockerfile create mode 100755 docker/buildAgentDocker.sh create mode 100755 docker/buildClusterDocker.sh create mode 100755 docker/prepareVersion.sh diff --git a/build.gradle b/build.gradle index cd0e055..62a19b9 100644 --- a/build.gradle +++ b/build.gradle @@ -2,10 +2,8 @@ plugins { id 'java' id 'idea' } -def currVersion = "1.5.0" +def currVersion = "1.6.0" ext.projectIds = ['group': 'com.bdware.sc', 'version': currVersion] -//group 'com.bdware.sc' -//version '1.4.4-SNAPSHOT' sourceCompatibility = 1.8 project(':genparser') { diff --git a/docker/AgentDockerfile b/docker/AgentDockerfile new file mode 100644 index 0000000..e4ca5fa --- /dev/null +++ b/docker/AgentDockerfile @@ -0,0 +1,15 @@ +FROM openjdk:8 + +ARG GOPRIVATE=bdware.org/* +ARG GOPROXY=https://goproxy.cn + +LABEL maintainer="caihuaqian@internetapi.cn" +LABEL org.bdware.version="1.6.0" +LABEL org.bdware.version.isproduction="true" +LABEL org.bdware.release-date="2021-12-02" + +COPY ./output /bdcontract +WORKDIR /bdcontract +VOLUME /bdcontract/ContractManagerDB /bdcontract/rocksdb /bdcontract/ContractDB /bdcontract/BDWareProjectDir +ENTRYPOINT ["java"] +CMD ["-Dfile.encoding=UTF-8", "-Djava.library.path='./dynamicLibrary'", "-cp", "./libs/*:bdagent.jar", "org.bdware.server.CMHttpServer"] diff --git a/docker/buildAgentDocker.sh b/docker/buildAgentDocker.sh new file mode 100755 index 0000000..2002391 --- /dev/null +++ b/docker/buildAgentDocker.sh @@ -0,0 +1,28 @@ +#!/bin/bash +if [ $# -lt 1 ]; then + echo "missing arguments,\nusage: \$version [-,push,save] \$saveDir" + exit 1 +fi +cp ./docker/AgentDockerfile ./agent-backend/build/output/Dockerfile +cd ./agent-backend/build +DOCKER_CLI_EXPERIMENTAL=enabled + +if [ "$2" == "push" ]; then + echo "push to docker hub" + rm -rf ./output/BDWareProjectDir/public/TF* + docker buildx build --platform linux/arm64/v8,linux/amd64 -t bdware/bdcontract:$1 ./ --push +elif [ "$2" == "save" ]; then + echo "save to $3" + rm -rf ./output/BDWareProjectDir/public/TFMac + rm -rf ./output/WebContent/bdcontract4baas + docker buildx build --platform linux/arm64/v8 -t bdware/bdcontract:$1 ./ --load + docker save -o $3/bdcontract-$1.tar bdware/bdcontract:$1 +else + echo "create at local" + # docker build -t bdware/bdcontract-tf:$1 ./ + # docker tag bdware/bdcontract-tf:$1 bdware/bdcontract-tf:latest + rm -rf ./output/BDWareProjectDir/public/TFMac + rm -rf ./output/WebContent/bdcontract4baas + docker build -t bdware/bdcontract:$1 ./ + docker tag bdware/bdcontract:$1 bdware/bdcontract:latest +fi \ No newline at end of file diff --git a/docker/buildClusterDocker.sh b/docker/buildClusterDocker.sh new file mode 100755 index 0000000..22e11ac --- /dev/null +++ b/docker/buildClusterDocker.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +DOCKER_CLI_EXPERIMENTAL=enabled + +cp ./docker/ClusterDockerfile ./router-backend/build/Dockerfile +cd ./router-backend/build + +if [ $# -lt 1 ]; then + echo "missing arguments,\nusage: \$version [-,push,save] \$saveDir" + exit 1 +fi +#linux/arm64/v8, +if [ "$2" == "push" ]; then + docker buildx build --platform linux/amd64 -t bdware/bdcluster:$1 ./ --push +elif [ "$2" == "save" ]; then + docker buildx build --platform linux/amd64 -t bdware/bdcluster:$1 ./ --load + docker save -o $3/bdcluster-$1.tar bdware/bdcluster:$1 +else + # docker buildx build --platform linux/arm64/v8 -t bdware/bdcluster:$1 ./ --load + docker build -t bdware/bdcluster:$1 ./ + docker tag bdware/bdcluster:$1 bdware/bdcluster:latest +fi diff --git a/docker/prepareVersion.sh b/docker/prepareVersion.sh new file mode 100755 index 0000000..22729bb --- /dev/null +++ b/docker/prepareVersion.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +version=$(awk '/currVersion = / { sub(/[^"]*"/,"") ; sub(/".*$/,""); print $0 } ' build.gradle) +echo version extract from build.gradle '-->' $version +if [ $# -gt 0 ]; then + time=$1 +else + time=$(date "+%Y-%m-%d") +fi +echo time is $time + +cd ./docker/ +awk ' {gsub(/version=\".*\"/,"version=\"'$version'\""); print $0; } ' AgentDockerfile >AgentDockerfile.2 +awk ' {gsub(/release-date=\".*\"/,"release-date=\"'$time'\""); print $0; } ' AgentDockerfile.2 >AgentDockerfile +rm AgentDockerfile.2 + +awk ' {gsub(/version=\".*\"/,"version=\"'$version'\""); print $0; } ' ClusterDockerfile >ClusterDockerfile.2 +awk ' {gsub(/release-date=\".*\"/,"release-date=\"'$time'\""); print $0; } ' ClusterDockerfile.2 >ClusterDockerfile +rm ClusterDockerfile.2 \ No newline at end of file diff --git a/front-base b/front-base index 242cd6d..c8cf9cc 160000 --- a/front-base +++ b/front-base @@ -1 +1 @@ -Subproject commit 242cd6d3145f181e208837b1922c1d0df1affa7e +Subproject commit c8cf9cca586da1b2df260cc2eb6a7ad3441eb7f5