Update deploy process
This commit is contained in:
parent
3d0ab090b0
commit
c0e32695ca
|
@ -10,15 +10,12 @@
|
|||
"type": "docker",
|
||||
"image": "hashicorp/middleman-hashicorp:0.3.28",
|
||||
"discard": "true",
|
||||
"run_command": ["-d", "-i", "-t", "{{ .Image }}", "/bin/sh"]
|
||||
"volumes": {
|
||||
"{{ pwd }}": "/website"
|
||||
}
|
||||
}
|
||||
],
|
||||
"provisioners": [
|
||||
{
|
||||
"type": "file",
|
||||
"source": ".",
|
||||
"destination": "/website"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"environment_vars": [
|
||||
|
@ -30,7 +27,7 @@
|
|||
"inline": [
|
||||
"bundle check || bundle install",
|
||||
"bundle exec middleman build",
|
||||
"/bin/sh ./scripts/deploy.sh"
|
||||
"/bin/bash ./scripts/deploy.sh"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
#
|
||||
# REDIRECTS FILE
|
||||
#
|
||||
# This is a sample redirect file. Redirects allow individual projects to add
|
||||
# their own redirect rules in a declarative manner using Fastly edge
|
||||
# dictionaries.
|
||||
#
|
||||
# FORMAT
|
||||
#
|
||||
# Redirects are in the format. There must be at least one space between the
|
||||
# original path and the new path, and there must be exactly two entries per
|
||||
# line.
|
||||
#
|
||||
# /original-path /new-path
|
||||
#
|
||||
# GLOB MATCHING
|
||||
#
|
||||
# Because of the way lookup tables work, there is no support for glob matching.
|
||||
# Fastly does not provide a way to iterate through the lookup table, so it is
|
||||
# not possible to run through the table and find anything that matches. As such
|
||||
# URLs must match directly.
|
||||
#
|
||||
# More complex redirects are possible, but must be added directly to the
|
||||
# configuration. Please contact the release engineering team for assistance.
|
||||
#
|
||||
# DELETING
|
||||
#
|
||||
# Deleting items is not supported at this time. To delete an item, contact the
|
||||
# release engineering team and they will delete the dictionary item.
|
||||
#
|
||||
# MISC
|
||||
#
|
||||
# - Blank lines are ignored
|
||||
# - Comments are hash-style
|
||||
# - URLs are limited to 256 characters
|
||||
# - Items are case-sensitive (please use all lowercase)
|
||||
#
|
||||
|
||||
/docs/installation.html /docs/install/index.html
|
||||
/docs/command-line/machine-readable.html /docs/commands/index.html
|
||||
/docs/command-line/introduction.html /docs/commands/index.html
|
||||
/docs/templates/introduction.html /docs/templates/index.html
|
||||
/docs/builders/azure-arm.html /docs/builders/azure.html
|
||||
/docs/templates/veewee-to-packer.html /guides/veewee-to-packer.html
|
||||
/docs/extend/developing-plugins.html /docs/extending/plugins.html
|
||||
/docs/extending/developing-plugins.html /docs/extending/plugins.html
|
||||
/docs/extend/builder.html /docs/extending/custom-builders.html
|
||||
/docs/getting-started/setup.html /docs/getting-started/install.html
|
||||
/docs/other/community.html /downloads-community.html
|
||||
/community /community.html
|
||||
/community/index.html /community.html
|
||||
/docs/other/environmental-variables.html /docs/other/environment-variables.html
|
||||
/docs/platforms.html /docs/builders/index.html
|
||||
/intro/platforms.html /docs/builders/index.html
|
||||
/docs/templates/configuration-templates.html /docs/templates/engine.html
|
|
@ -1,9 +1,10 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
PROJECT="packer"
|
||||
PROJECT_URL="www.packer.io"
|
||||
FASTLY_SERVICE_ID="7GrxRJP3PVBuqQbyxYQ0MV"
|
||||
FASTLY_DICTIONARY_ID="7CE9Ko06dSFrv8XqDgMZvo"
|
||||
|
||||
# Ensure the proper AWS environment variables are set
|
||||
if [ -z "$AWS_ACCESS_KEY_ID" ]; then
|
||||
|
@ -93,7 +94,76 @@ if [ -z "$NO_UPLOAD" ]; then
|
|||
modify "s3://hc-sites/$PROJECT/latest/"
|
||||
fi
|
||||
|
||||
# Perform a soft-purge of the surrogate key.
|
||||
# Add redirects if they exist
|
||||
if [ -z "$NO_REDIRECTS" ] || [ ! test -f "./redirects.txt" ]; then
|
||||
echo "Adding redirects..."
|
||||
fields=()
|
||||
while read -r line; do
|
||||
[[ "$line" =~ ^#.* ]] && continue
|
||||
[[ -z "$line" ]] && continue
|
||||
|
||||
# Read fields
|
||||
IFS=" " read -ra parts <<<"$line"
|
||||
fields+=("${parts[@]}")
|
||||
done < "./redirects.txt"
|
||||
|
||||
# Check we have pairs
|
||||
if [ $((${#fields[@]} % 2)) -ne 0 ]; then
|
||||
echo "Bad redirects (not an even number)!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check we don't have more than 1000 entries (yes, it says 2000 below, but that
|
||||
# is because we've split into multiple lines).
|
||||
if [ "${#fields}" -gt 2000 ]; then
|
||||
echo "More than 1000 entries!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validations
|
||||
for field in "${fields[@]}"; do
|
||||
if [ "${#field}" -gt 256 ]; then
|
||||
echo "'$field' is > 256 characters!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${field:0:1}" != "/" ]; then
|
||||
echo "'$field' does not start with /!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Build the payload for single-request updates.
|
||||
jq_args=()
|
||||
jq_query="."
|
||||
for (( i=0; i<${#fields[@]}; i+=2 )); do
|
||||
original="${fields[i]}"
|
||||
redirect="${fields[i+1]}"
|
||||
echo "Redirecting ${original} -> ${redirect}"
|
||||
jq_args+=(--arg "key$((i/2))" "${original}")
|
||||
jq_args+=(--arg "value$((i/2))" "${redirect}")
|
||||
jq_query+="| .items |= (. + [{op: \"upsert\", item_key: \$key$((i/2)), item_value: \$value$((i/2))}])"
|
||||
done
|
||||
|
||||
# Do not post empty items (the API gets sad)
|
||||
if [ "${#jq_args[@]}" -ne 0 ]; then
|
||||
json="$(jq "${jq_args[@]}" "${jq_query}" <<<'{"items": []}')"
|
||||
|
||||
# Post the JSON body
|
||||
curl \
|
||||
--fail \
|
||||
--silent \
|
||||
--output /dev/null \
|
||||
--request "PATCH" \
|
||||
--header "Fastly-Key: $FASTLY_API_KEY" \
|
||||
--header "Content-type: application/json" \
|
||||
--header "Accept: application/json" \
|
||||
--data "$json"\
|
||||
"https://api.fastly.com/service/$FASTLY_SERVICE_ID/dictionary/$FASTLY_DICTIONARY_ID/items"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Perform a purge of the surrogate key.
|
||||
if [ -z "$NO_PURGE" ]; then
|
||||
echo "Purging Fastly cache..."
|
||||
curl \
|
||||
|
@ -118,8 +188,13 @@ if [ -z "$NO_WARM" ]; then
|
|||
echo "wget --recursive --delete-after https://$PROJECT_URL/"
|
||||
echo ""
|
||||
wget \
|
||||
--recursive \
|
||||
--delete-after \
|
||||
--quiet \
|
||||
--level inf \
|
||||
--no-directories \
|
||||
--no-host-directories \
|
||||
--no-verbose \
|
||||
--page-requisites \
|
||||
--recursive \
|
||||
--spider \
|
||||
"https://$PROJECT_URL/"
|
||||
fi
|
||||
|
|
2782
website/wgetlog
2782
website/wgetlog
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue