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 1182ca5
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions jenkins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,24 @@
# 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

# Clean up
delete_app_version

exit $errcode
exit ${errcode}
}
trap handle_error ERR

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
nohup delete_app_version "${app_version}" &
)
done

delete_app_version
wait

0 comments on commit 1182ca5

Please sign in to comment.