sub domain deploy for branches 4
This commit is contained in:
52
.github/workflows/deploy.yml
vendored
52
.github/workflows/deploy.yml
vendored
@@ -9,19 +9,50 @@ jobs:
|
|||||||
- /var/docker-web:/var/docker-web
|
- /var/docker-web:/var/docker-web
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Setup environment
|
- name: Edit .env
|
||||||
run: |
|
run: |
|
||||||
chmod +x .github/scripts/setup-env.sh
|
set -a && source .env && set +a
|
||||||
.github/scripts/setup-env.sh
|
|
||||||
|
changeEnvVar() {
|
||||||
|
local var_name="$1"
|
||||||
|
local new_value="$2"
|
||||||
|
local env_file=".env"
|
||||||
|
|
||||||
|
if grep -q "^${var_name}=" "$env_file"; then
|
||||||
|
sed -i "s|${var_name}=.*|${var_name}=${new_value}|" "$env_file"
|
||||||
|
else
|
||||||
|
echo "${var_name}=${new_value}" >> "$env_file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variables GitHub
|
||||||
|
APP_NAME="${GITHUB_REPOSITORY##*/}"
|
||||||
|
BRANCH_NAME=$GITHUB_REF_NAME
|
||||||
|
|
||||||
|
# Configuration pour les branches non-principales
|
||||||
|
if [ "$BRANCH_NAME" != "main" ] && [ "$BRANCH_NAME" != "master" ]; then
|
||||||
|
DOMAIN="$BRANCH_NAME.$DOMAIN"
|
||||||
|
APP_NAME="$BRANCH_NAME_$APP_NAME"
|
||||||
|
PORT=$(bash /var/docker-web/src/cli.sh ALLOCATE_PORT)
|
||||||
|
sed -i "s|${GITHUB_REPOSITORY##*/}|$APP_NAME|g" docker-compose.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
changeVar "DOMAIN" $DOMAIN
|
||||||
|
changeVar "APP_NAME" $APP_NAME
|
||||||
|
changeVar "PORT" $PORT
|
||||||
|
changeVar "APP_DIR" "/var/docker-web/apps/$APP_NAME"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
- name: Build app
|
- name: Build app
|
||||||
run: |
|
run: |
|
||||||
bash /var/docker-web/src/cli.sh down "${REPO_NAME}"
|
set -a && source .env && set +a
|
||||||
|
bash /var/docker-web/src/cli.sh down "${APP_NAME}"
|
||||||
rm -rf "$APP_DIR"
|
rm -rf "$APP_DIR"
|
||||||
mkdir "$APP_DIR"
|
mkdir "$APP_DIR"
|
||||||
cp -a $(find . -mindepth 1 -maxdepth 1 ! -name '.git' ! -name 'node_modules') "$APP_DIR/"
|
cp -a $(find . -mindepth 1 -maxdepth 1 ! -name '.git' ! -name 'node_modules') "$APP_DIR/"
|
||||||
export COMPOSE_BAKE=false
|
export COMPOSE_BAKE=false
|
||||||
docker rmi "local/${REPO_NAME}" 2>/dev/null || true
|
docker rmi "local/${APP_NAME}" 2>/dev/null || true
|
||||||
bash /var/docker-web/src/cli.sh build "${REPO_NAME}"
|
bash /var/docker-web/src/cli.sh build "${APP_NAME}"
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
@@ -31,10 +62,7 @@ jobs:
|
|||||||
- /var/docker-web:/var/docker-web
|
- /var/docker-web:/var/docker-web
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Setup environment for deploy
|
- name: Deploy
|
||||||
run: |
|
run: |
|
||||||
chmod +x .github/scripts/setup-env.sh
|
set -a && source .env && set +a
|
||||||
.github/scripts/setup-env.sh
|
bash /var/docker-web/src/cli.sh up "${APP_NAME}"
|
||||||
- name: Deploy with docker-web
|
|
||||||
run: |
|
|
||||||
bash /var/docker-web/src/cli.sh up "${REPO_NAME}"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user