feat: make targets for deployment

- Created new make targets for deployments of the services.
- Created a new helper script for the deployment.
This commit is contained in:
Dan Anglin 2023-02-10 21:34:56 +00:00
parent b7c7d18f71
commit db2b34b2de
Signed by: dananglin
GPG key ID: 0C1D44CFBEE68638
3 changed files with 26 additions and 8 deletions

11
.helpers/deploy.sh Normal file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
SERVICE=$1
export $(cat ./config/flow-platform-services.cfg | grep DOCKER_HOST | tr -d "\"")
docker compose --project-directory ./build/compose up -d --build "${SERVICE}"

View file

@ -4,12 +4,12 @@ set -o errexit
set -o nounset set -o nounset
set -o pipefail set -o pipefail
directory=$1 SERVICE=$1
export $(xargs < ./config/flow-platform-services.cfg) export $(xargs < ./config/flow-platform-services.cfg)
mkdir -p build/${directory} mkdir -p build/${SERVICE}
for i in $(find "./templates/${directory}" -mindepth 1 -type f); do for i in $(find "./templates/${SERVICE}" -mindepth 1 -type f); do
file=$(basename ${i}) file=$(basename ${i})
envsubst < "./templates/${directory}/${file}" > "./build/${directory}/${file}" envsubst < "./templates/${SERVICE}/${file}" > "./build/${SERVICE}/${file}"
done done

View file

@ -1,16 +1,23 @@
all: traefik-files forgejo-files gotosocial-files
compose: compose:
bash ./.helpers/render.sh compose bash ./.helpers/render.sh compose
traefik-files: compose traefik-files: compose
bash ./.helpers/render.sh traefik bash ./.helpers/render.sh traefik
forgejo-files: forgejo-binary compose traefik: traefik-files
bash ./.helpers/render.sh forgejo bash ./.helpers/deploy.sh traefik
forgejo-binary: forgejo-binary:
bash ./.helpers/download-forgejo.sh bash ./.helpers/download-forgejo.sh
forgejo-files: forgejo-binary compose
bash ./.helpers/render.sh forgejo
forgejo: forgejo-files
bash ./.helpers/deploy.sh forgejo
gotosocial-files: compose gotosocial-files: compose
bash ./.helpers/render.sh gotosocial bash ./.helpers/render.sh gotosocial
gotosocial: gotosocial-files
bash ./.helpers/deploy.sh gotosocial