ci: consolidate active app image builds
This commit is contained in:
178
woodpecker.yml
178
woodpecker.yml
@@ -13,7 +13,17 @@ steps:
|
||||
commands: |
|
||||
cd $CI_WORKSPACE
|
||||
|
||||
mvn -B -ntp -am -pl :gb32960-ingest-app,:jt808-ingest-app,:yutong-mqtt-app,:vehicle-history-app,:vehicle-analytics-app package -DskipTests
|
||||
ACTIVE_APPS="gb32960-ingest-app jt808-ingest-app yutong-mqtt-app vehicle-history-app vehicle-analytics-app"
|
||||
ACTIVE_MODULES=""
|
||||
for APP_NAME in $ACTIVE_APPS; do
|
||||
if [ -z "$ACTIVE_MODULES" ]; then
|
||||
ACTIVE_MODULES=":$APP_NAME"
|
||||
else
|
||||
ACTIVE_MODULES="$ACTIVE_MODULES,:$APP_NAME"
|
||||
fi
|
||||
done
|
||||
|
||||
mvn -B -ntp -am -pl "$ACTIVE_MODULES" package -DskipTests
|
||||
|
||||
BRANCH_NAME=$(echo ${CI_COMMIT_BRANCH:-local} | tr / -)
|
||||
PROJECT_VERSION=$(mvn -q -DforceStdout help:evaluate -Dexpression=project.version)
|
||||
@@ -24,7 +34,7 @@ steps:
|
||||
echo "Image version: $IMAGE_VERSION"
|
||||
echo "$IMAGE_VERSION" > $CI_WORKSPACE/project_version.txt
|
||||
|
||||
- name: docker-build-gb32960-ingest-app
|
||||
- name: docker-build-apps
|
||||
image: docker:24.0.5-cli
|
||||
when:
|
||||
event:
|
||||
@@ -44,162 +54,24 @@ steps:
|
||||
from_secret: aliyun_acr_password
|
||||
commands: |
|
||||
cd $CI_WORKSPACE
|
||||
APP_NAME=gb32960-ingest-app
|
||||
ACTIVE_APPS="gb32960-ingest-app jt808-ingest-app yutong-mqtt-app vehicle-history-app vehicle-analytics-app"
|
||||
APP_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
||||
IMAGE=crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/$APP_NAME:$APP_VERSION
|
||||
|
||||
docker build \
|
||||
--build-arg APP_NAME=$APP_NAME \
|
||||
--build-arg APP_VERSION=$APP_VERSION \
|
||||
-t $IMAGE .
|
||||
REGISTRY=crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com
|
||||
NAMESPACE=oneos
|
||||
|
||||
printf '%s' "$ALIYUN_ACR_PASSWORD" | docker login \
|
||||
--username "$ALIYUN_ACR_USERNAME" \
|
||||
--password-stdin \
|
||||
crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com
|
||||
"$REGISTRY"
|
||||
|
||||
docker push $IMAGE
|
||||
for APP_NAME in $ACTIVE_APPS; do
|
||||
IMAGE=$REGISTRY/$NAMESPACE/$APP_NAME:$APP_VERSION
|
||||
echo "Building and pushing $IMAGE"
|
||||
|
||||
- name: docker-build-jt808-ingest-app
|
||||
image: docker:24.0.5-cli
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- manual
|
||||
branch:
|
||||
- master
|
||||
- develop
|
||||
- main
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
ALIYUN_ACR_USERNAME:
|
||||
from_secret: aliyun_acr_username
|
||||
ALIYUN_ACR_PASSWORD:
|
||||
from_secret: aliyun_acr_password
|
||||
commands: |
|
||||
cd $CI_WORKSPACE
|
||||
APP_NAME=jt808-ingest-app
|
||||
APP_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
||||
IMAGE=crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/$APP_NAME:$APP_VERSION
|
||||
docker build \
|
||||
--build-arg APP_NAME=$APP_NAME \
|
||||
--build-arg APP_VERSION=$APP_VERSION \
|
||||
-t $IMAGE .
|
||||
|
||||
docker build \
|
||||
--build-arg APP_NAME=$APP_NAME \
|
||||
--build-arg APP_VERSION=$APP_VERSION \
|
||||
-t $IMAGE .
|
||||
|
||||
printf '%s' "$ALIYUN_ACR_PASSWORD" | docker login \
|
||||
--username "$ALIYUN_ACR_USERNAME" \
|
||||
--password-stdin \
|
||||
crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com
|
||||
|
||||
docker push $IMAGE
|
||||
|
||||
- name: docker-build-vehicle-history-app
|
||||
image: docker:24.0.5-cli
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- manual
|
||||
branch:
|
||||
- master
|
||||
- develop
|
||||
- main
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
ALIYUN_ACR_USERNAME:
|
||||
from_secret: aliyun_acr_username
|
||||
ALIYUN_ACR_PASSWORD:
|
||||
from_secret: aliyun_acr_password
|
||||
commands: |
|
||||
cd $CI_WORKSPACE
|
||||
APP_NAME=vehicle-history-app
|
||||
APP_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
||||
IMAGE=crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/$APP_NAME:$APP_VERSION
|
||||
|
||||
docker build \
|
||||
--build-arg APP_NAME=$APP_NAME \
|
||||
--build-arg APP_VERSION=$APP_VERSION \
|
||||
-t $IMAGE .
|
||||
|
||||
printf '%s' "$ALIYUN_ACR_PASSWORD" | docker login \
|
||||
--username "$ALIYUN_ACR_USERNAME" \
|
||||
--password-stdin \
|
||||
crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com
|
||||
|
||||
docker push $IMAGE
|
||||
|
||||
- name: docker-build-yutong-mqtt-app
|
||||
image: docker:24.0.5-cli
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- manual
|
||||
branch:
|
||||
- master
|
||||
- develop
|
||||
- main
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
ALIYUN_ACR_USERNAME:
|
||||
from_secret: aliyun_acr_username
|
||||
ALIYUN_ACR_PASSWORD:
|
||||
from_secret: aliyun_acr_password
|
||||
commands: |
|
||||
cd $CI_WORKSPACE
|
||||
APP_NAME=yutong-mqtt-app
|
||||
APP_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
||||
IMAGE=crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/$APP_NAME:$APP_VERSION
|
||||
|
||||
docker build \
|
||||
--build-arg APP_NAME=$APP_NAME \
|
||||
--build-arg APP_VERSION=$APP_VERSION \
|
||||
-t $IMAGE .
|
||||
|
||||
printf '%s' "$ALIYUN_ACR_PASSWORD" | docker login \
|
||||
--username "$ALIYUN_ACR_USERNAME" \
|
||||
--password-stdin \
|
||||
crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com
|
||||
|
||||
docker push $IMAGE
|
||||
|
||||
- name: docker-build-vehicle-analytics-app
|
||||
image: docker:24.0.5-cli
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- manual
|
||||
branch:
|
||||
- master
|
||||
- develop
|
||||
- main
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
ALIYUN_ACR_USERNAME:
|
||||
from_secret: aliyun_acr_username
|
||||
ALIYUN_ACR_PASSWORD:
|
||||
from_secret: aliyun_acr_password
|
||||
commands: |
|
||||
cd $CI_WORKSPACE
|
||||
APP_NAME=vehicle-analytics-app
|
||||
APP_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
||||
IMAGE=crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/$APP_NAME:$APP_VERSION
|
||||
|
||||
docker build \
|
||||
--build-arg APP_NAME=$APP_NAME \
|
||||
--build-arg APP_VERSION=$APP_VERSION \
|
||||
-t $IMAGE .
|
||||
|
||||
printf '%s' "$ALIYUN_ACR_PASSWORD" | docker login \
|
||||
--username "$ALIYUN_ACR_USERNAME" \
|
||||
--password-stdin \
|
||||
crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com
|
||||
|
||||
docker push $IMAGE
|
||||
docker push $IMAGE
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user