Compare commits
10 Commits
439718de1e
...
62c899cf30
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62c899cf30 | ||
|
|
e46679dc00 | ||
|
|
3a9afdfb61 | ||
|
|
f269d0a667 | ||
|
|
30a7228a1b | ||
|
|
20ad4c8ede
|
||
|
|
4ec8bdc471 | ||
|
|
3dfc077095 | ||
|
|
03a937b7a2 | ||
|
|
278d120310 |
59
.dev/ops/s3-sync.sh
Executable file
59
.dev/ops/s3-sync.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
USAGE="sync-s3-uploads.sh <source env> <target env>"
|
||||
|
||||
MY_PATH="`dirname \"$0\"`"
|
||||
UPLOADS_DIR="$(cd "$MY_PATH" && cd "../../web/app/uploads" && pwd)"
|
||||
|
||||
AWS_ACCESS_KEY_ID=$(heroku config:get AWS_ACCESS_KEY_ID)
|
||||
export AWS_ACCESS_KEY_ID
|
||||
AWS_SECRET_ACCESS_KEY=$(heroku config:get AWS_SECRET_ACCESS_KEY)
|
||||
export AWS_SECRET_ACCESS_KEY
|
||||
AWS_REGION=$(heroku config:get AWS_REGION)
|
||||
export AWS_REGION
|
||||
|
||||
USE_CDN=$(heroku config:get USE_CDN)
|
||||
USE_CDN=${USE_CDN-false}
|
||||
|
||||
BLOG_SLUG=$(heroku config:get BLOG_SLUG)
|
||||
BLOG_SLUG=${BLOG_SLUG-hvg-blog}
|
||||
|
||||
if [[ $USE_CDN == true ]]; then
|
||||
FOLDER="$BLOG_SLUG/uploads"
|
||||
else
|
||||
FOLDER="uploads"
|
||||
fi
|
||||
|
||||
# Check args
|
||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||
echo $USAGE >&2;
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1;
|
||||
fi
|
||||
|
||||
# Get bucket urls
|
||||
if [[ $1 == 'local' ]]; then
|
||||
SOURCE_URL=$UPLOADS_DIR
|
||||
else
|
||||
SOURCE_URL=s3://`heroku config:get BUCKET_NAME -r $1`/$FOLDER;
|
||||
fi;
|
||||
|
||||
if [[ $2 == 'local' ]]; then
|
||||
TARGET_URL=$UPLOADS_DIR
|
||||
else
|
||||
TARGET_URL=s3://`heroku config:get BUCKET_NAME -r $2`/$FOLDER;
|
||||
fi;
|
||||
|
||||
echo "You are about to copy all files from $SOURCE_URL to $TARGET_URL";
|
||||
read -p "Are you sure you want to do this? (y/n)
|
||||
";
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1;
|
||||
fi
|
||||
|
||||
# Use aws-cli to synchronize buckets
|
||||
aws s3 sync $SOURCE_URL $TARGET_URL
|
||||
|
||||
echo "Success!"
|
||||
exit 0
|
||||
57
.github/workflows/docker-publish.yml
vendored
57
.github/workflows/docker-publish.yml
vendored
@@ -15,9 +15,7 @@ on:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
PACK_VERSION: "0.27.0"
|
||||
YQ_VERSION: "4.25.3"
|
||||
JQ_VERSION: "1.6"
|
||||
DESCRIPTION: "HVG Blog Wordpress Heroku App Image https://hvgblog.hu"
|
||||
COMPOSER_AUTH: "{\"github-oauth\":{\"github.com\":\"${{ secrets.HVG_DEV_GH_TOKEN }}\"}}"
|
||||
|
||||
jobs:
|
||||
@@ -27,7 +25,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: andrioid/setup-pack@v1.0.1
|
||||
- uses: buildpacks/github-actions/setup-pack@v4.8.0
|
||||
- name: Docker registry login
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
@@ -43,57 +41,16 @@ jobs:
|
||||
tag="${GITHUB_REF#tags/*/}";
|
||||
[[ $tag == '' ]] || tag="${year}.${day}.${{ github.run_number }}";
|
||||
echo "TAG=$tag" >> $GITHUB_ENV;
|
||||
- name: Setup Pack
|
||||
run: |
|
||||
echo "Installing pack ${PACK_VERSION}"
|
||||
mkdir -p "${PWD}/bin"
|
||||
curl \
|
||||
--show-error \
|
||||
--silent \
|
||||
--location \
|
||||
--fail \
|
||||
--retry 3 \
|
||||
--connect-timeout 5 \
|
||||
--max-time 60 \
|
||||
"https://github.com/buildpacks/pack/releases/download/v${PACK_VERSION}/pack-v${PACK_VERSION}-linux.tgz" \
|
||||
| tar -C "${PWD}/bin" -xz pack
|
||||
- name: Setup YQ
|
||||
run: |
|
||||
echo "Installing yq ${YQ_VERSION}"
|
||||
curl \
|
||||
--show-error \
|
||||
--silent \
|
||||
--location \
|
||||
--fail \
|
||||
--retry 3 \
|
||||
--connect-timeout 5 \
|
||||
--max-time 60 \
|
||||
"https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64.tar.gz" \
|
||||
| tar -C "${PWD}/bin" --transform='flags=r;s|yq_linux_amd64|yq|' -xz --wildcards 'yq'
|
||||
- name: Setup JQ
|
||||
run: |
|
||||
echo "Installing jq ${JQ_VERSION}"
|
||||
mkdir -p "${PWD}/bin"
|
||||
curl \
|
||||
--show-error \
|
||||
--silent \
|
||||
--location \
|
||||
--fail \
|
||||
--retry 3 \
|
||||
--connect-timeout 5 \
|
||||
--max-time 60 \
|
||||
-o "${PWD}/bin/jq"
|
||||
"https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-${JQ_VERSION}.tar.gz"
|
||||
chmod +x "${PWD}/bin/jq"
|
||||
- name: Build Image with pack
|
||||
run: |
|
||||
[[ ! -z $(bin/yq e '. | keys' Procfile | cut -c 3- | grep bash) ]] \
|
||||
[[ ! -z $(yq e '. | keys' Procfile | cut -c 3- | grep bash) ]] \
|
||||
|| echo 'bash: bash -l' >> Procfile
|
||||
bin/pack build "ghcr.io/hvg/blog:$TAG" \
|
||||
--builder heroku/buildpacks:20 \
|
||||
pack build "ghcr.io/hvg/blog:$TAG" \
|
||||
--builder heroku/builder-classic:22 \
|
||||
--descriptor project.toml \
|
||||
--workspace /app \
|
||||
--env COMPOSER_AUTH=$COMPOSER_AUTH;
|
||||
--env COMPOSER_AUTH=$COMPOSER_AUTH \
|
||||
--env ALLOW_EOL_SHIMMED_BUILDER=1;
|
||||
- name: Tag Docker image to ref
|
||||
run: |
|
||||
docker tag ghcr.io/hvg/blog:$TAG ghcr.io/hvg/blog:$REF
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
alias d-composer="docker-compose run --rm wordpress composer"
|
||||
alias d-wp="docker-compose run --rm wordpress wp"
|
||||
alias d-s3-sync="docker-compose run --rm wordpress .dev/ops/s3-sync.sh"
|
||||
alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress"
|
||||
alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l"
|
||||
alias dc-build="docker-compose build --pull --no-cache"
|
||||
|
||||
@@ -10,6 +10,10 @@ function d-wp {
|
||||
dc run --rm wordpress wp $args
|
||||
}
|
||||
|
||||
function d-s3-sync {
|
||||
dc run --rm wordpress .dev/ops/s3-sync.sh $args
|
||||
}
|
||||
|
||||
function d-heroku {
|
||||
dc run --rm --entrypoint=heroku wordpress $args
|
||||
}
|
||||
|
||||
1
Procfile
1
Procfile
@@ -1,2 +1 @@
|
||||
web: PHP_INI_SCAN_DIR=${PHP_INI_SCAN_DIR-:/app/config/php.d} heroku-php-nginx -C config/nginx.conf web
|
||||
bash: bash -l
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.4 <8.1",
|
||||
"php": ">=7.4 <8.2",
|
||||
"ext-gd": "*",
|
||||
"ext-redis": "*",
|
||||
"ext-mbstring": "*",
|
||||
|
||||
2593
composer.lock
generated
2593
composer.lock
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user