mirror of
https://github.com/google/nomulus.git
synced 2025-07-25 20:18:34 +02:00
Build an uber tarball in Cloud Build
Spinnaker currently cannot have inter-dependencies between different pipelines. As a result we put the WAR files for all environments in one tarball which triggers a single pipeline that first deploys to sandbox and then to production. Temporarily disabled pulling dependencies from GCS while that is being worked out. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=239448777
This commit is contained in:
parent
d7b6394205
commit
f589f387c2
2 changed files with 53 additions and 23 deletions
|
@ -22,41 +22,40 @@ steps:
|
|||
args: ['source', 'repos', 'clone', 'nomulus-internal']
|
||||
- name: 'alpine'
|
||||
args: ['sh', '-c', 'cp -r nomulus-internal/* .']
|
||||
# Build the deployment files.
|
||||
# Create a directory to store the artifacts
|
||||
- name: 'alpine'
|
||||
args: ['mkdir', 'nomulus']
|
||||
# Build the deployment files for sandbox.
|
||||
- name: 'gcr.io/${PROJECT_ID}/builder'
|
||||
args:
|
||||
- './gradlew'
|
||||
- 'stage'
|
||||
- '-x'
|
||||
- 'autoLintGradle'
|
||||
- '-PrepositoryUrl=gcs://domain-registry-maven-repository'
|
||||
- '-Penvironment=${_ENVIRONMENT}'
|
||||
- '-Penvironment=sandbox'
|
||||
dir: 'gradle'
|
||||
# Tar the deployment files as we cannot upload directories to GCS.
|
||||
- name: 'alpine'
|
||||
args: ['tar', 'cvf', '../../../default.tar', '.']
|
||||
dir: 'gradle/services/default/build/staged-app'
|
||||
args: ['sh', './move_artifacts.sh', 'sandbox', 'nomulus']
|
||||
# Build the deployment files for alpha.
|
||||
- name: 'gcr.io/${PROJECT_ID}/builder'
|
||||
args:
|
||||
- './gradlew'
|
||||
- 'stage'
|
||||
- '-x'
|
||||
- 'autoLintGradle'
|
||||
- '-Penvironment=alpha'
|
||||
dir: 'gradle'
|
||||
- name: 'alpine'
|
||||
args: ['tar', 'cvf', '../../../pubapi.tar', '.']
|
||||
dir: 'gradle/services/pubapi/build/staged-app'
|
||||
args: ['sh', './move_artifacts.sh', 'alpha', 'nomulus']
|
||||
# Create the uber tarball including all environments.
|
||||
- name: 'alpine'
|
||||
args: ['tar', 'cvf', '../../../backend.tar', '.']
|
||||
dir: 'gradle/services/backend/build/staged-app'
|
||||
- name: 'alpine'
|
||||
args: ['tar', 'cvf', '../../../tools.tar', '.']
|
||||
dir: 'gradle/services/tools/build/staged-app'
|
||||
# Tar files to upload to GCS.
|
||||
args: ['tar', 'cvf', '../nomulus.tar', '.']
|
||||
dir: 'nomulus'
|
||||
# The tarball to upload to GCS.
|
||||
artifacts:
|
||||
objects:
|
||||
location: 'gs://${PROJECT_ID}-deploy/${TAG_NAME}/${_ENVIRONMENT}'
|
||||
paths:
|
||||
- 'gradle/services/default.tar'
|
||||
- 'gradle/services/pubapi.tar'
|
||||
- 'gradle/services/backend.tar'
|
||||
- 'gradle/services/tools.tar'
|
||||
location: 'gs://${PROJECT_ID}-deploy/${TAG_NAME}'
|
||||
paths: ['nomulus.tar']
|
||||
timeout: 3600s
|
||||
# Default values
|
||||
substitutions:
|
||||
_ENVIRONMENT: alpha
|
||||
options:
|
||||
machineType: 'N1_HIGHCPU_8'
|
||||
|
|
31
move_artifacts.sh
Executable file
31
move_artifacts.sh
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2019 The Nomulus Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# This script moves GAE artifacts for a given environment to a designated location.
|
||||
|
||||
if [ $# -ne 2 ];
|
||||
then
|
||||
echo "Usage: $0 alpha|crash|sandbox|production destination."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dest="$2/$1"
|
||||
|
||||
mkdir -p "${dest}"
|
||||
|
||||
for service in default pubapi backend tools
|
||||
do
|
||||
mv gradle/services/"${service}"/build/staged-app "${dest}/${service}"
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue