48 lines
1.7 KiB
YAML
48 lines
1.7 KiB
YAML
name: Deploy App
|
|
on: [push]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
container:
|
|
volumes:
|
|
- /var/docker-web:/var/docker-web
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Set Vars
|
|
run: |
|
|
set -a && source .env && set +a
|
|
sed -i "s/BRANCH_NAME=.*/BRANCH_NAME=$GITHUB_REF_NAME/" .env
|
|
# Configuration pour les branches non-principales
|
|
if [ "$BRANCH_NAME" != "main" ] && [ "$BRANCH_NAME" != "master" ]; then
|
|
sed -i "s/PORT=.*/PORT=$PORT+1/" .env
|
|
sed -i "s/DOMAIN=.*/DOMAIN=$BRANCH_NAME.$DOMAIN/" .env
|
|
sed -i "s/container_name: evilspins/container_name: $BRANCH_NAME.$DOMAIN/" docker-compose.yml
|
|
sed -i "s/REPO_NAME=.*/REPO_NAME=$BRANCH_NAME.$DOMAIN/" .env
|
|
fi
|
|
sed -i "s/REPO_NAME=.*/REPO_NAME=${GITHUB_REPOSITORY##*/}/" .env
|
|
sed -i "s/APP_DIR=.*/APP_DIR=/var/docker-web/apps/$REPO_NAME" .env
|
|
- uses: actions/checkout@v4
|
|
- name: Build app
|
|
run: |
|
|
set -a && source .env && set +a
|
|
bash /var/docker-web/src/cli.sh down "${REPO_NAME}"
|
|
rm -rf "$APP_DIR"
|
|
mkdir "$APP_DIR"
|
|
cp -a $(find . -mindepth 1 -maxdepth 1 ! -name '.git' ! -name 'node_modules') "$APP_DIR/"
|
|
export COMPOSE_BAKE=false
|
|
docker rmi "local/${REPO_NAME}" 2>/dev/null || true
|
|
bash /var/docker-web/src/cli.sh build "${REPO_NAME}"
|
|
|
|
deploy:
|
|
runs-on: ubuntu-22.04
|
|
needs: build
|
|
container:
|
|
volumes:
|
|
- /var/docker-web:/var/docker-web
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Deploy with docker-web
|
|
run: |
|
|
echo "last step, for BRANCH $BRANCH_NAME is domain correct : $DOMAIN ?"
|