diff --git a/cloudbuild-nomulus.yaml b/cloudbuild-nomulus.yaml index dbdb831e9..9fc3ad60a 100644 --- a/cloudbuild-nomulus.yaml +++ b/cloudbuild-nomulus.yaml @@ -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' diff --git a/move_artifacts.sh b/move_artifacts.sh new file mode 100755 index 000000000..67c8a4724 --- /dev/null +++ b/move_artifacts.sh @@ -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