Skip to content

Commit

Permalink
Fix jenkins script.
Browse files Browse the repository at this point in the history
* Fail when one of the tests fails
* Deploy to different app versions
* Clean up app versions in the background after each test
  • Loading branch information
Jerjou Cheng committed Mar 3, 2017
1 parent 284300c commit 9d4ded5
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions jenkins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.

set -x
set -xe
shopt -s globstar

app_version=""

delete_app_version() {
yes | gcloud --project="$GOOGLE_PROJECT_ID" \
app versions delete "$GOOGLE_VERSION_ID"
if [ -n "$app_version" ] || [ $# -gt 0 ]; then
yes | gcloud --project="$GOOGLE_PROJECT_ID" \
app versions delete "${1-$app_version}"
fi
}
handle_error() {
errcode=$? # Remember the error code so we can exit with it after cleanup
Expand All @@ -36,10 +40,18 @@ shellcheck ./**/*.sh

# Find all jenkins.sh's and run them.
find . -mindepth 2 -maxdepth 5 -name jenkins.sh -type f | while read path; do
dir="${path%/jenkins.sh}"
app_version="jenkins-${dir//[^a-z]/}"
(
pushd "${path%jenkins.sh}"
/bin/bash ./jenkins.sh
pushd "$dir"
# Need different app versions because flex can't deploy over an existing
# version
GOOGLE_VERSION_ID="$app_version" /bin/bash ./jenkins.sh
echo "Return code: $?"

# Clean up the app version in the background
delete_app_version "$app_version" &
)
done

delete_app_version
wait

0 comments on commit 9d4ded5

Please sign in to comment.