fix: cicd
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
SERVICE_NAME=$1
|
||||
AGEBD_ENV=$2
|
||||
|
||||
SERVICE_NAME_LOWER=$(echo "$SERVICE_NAME" | tr '[:upper:]' '[:lower:]')
|
||||
SERVICE_NAME_UPPER=$(echo "$SERVICE_NAME" | tr '[:lower:]' '[:upper:]')
|
||||
SERVICE_DIR=/sls/bd/hla/${AGEBD_ENV}/services/${SERVICE_NAME_LOWER}/current
|
||||
SYSTEMD_UNIT_NAME=AGEBD-SERVICE-${SERVICE_NAME_UPPER}.service
|
||||
SYSTEMD_UNIT_FILE_PATH=${SERVICE_DIR}/systemd/${SYSTEMD_UNIT_NAME}
|
||||
|
||||
mkdir -p ${SERVICE_DIR}
|
||||
|
||||
rsync -avz --delete --exclude='.venv' \
|
||||
./services/${SERVICE_NAME_LOWER}/current/ \
|
||||
${SERVICE_DIR}/
|
||||
|
||||
|
||||
if [ -f "${SYSTEMD_UNIT_FILE_PATH}" ]; then
|
||||
sed -i "s/{{ *agebd_env* }}/${AGEBD_ENV}/g" "${SYSTEMD_UNIT_FILE_PATH}"
|
||||
fi
|
||||
|
||||
mkdir -p ${HOME}/.config/systemd/user
|
||||
ln -sf "${SYSTEMD_UNIT_FILE_PATH}" "${HOME}/.config/systemd/user/${SYSTEMD_UNIT_NAME}"
|
||||
|
||||
export XDG_RUNTIME_DIR="/run/user/\$(id -u)"
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable "${SYSTEMD_UNIT_NAME}"
|
||||
systemctl --user restart "${SYSTEMD_UNIT_NAME}"
|
||||
+23
-11
@@ -123,15 +123,27 @@ jobs:
|
||||
echo "matrix=$SERVICES" >> $GITHUB_OUTPUT
|
||||
|
||||
deploy-services:
|
||||
name: "Deploy Service (${{ matrix.service }})"
|
||||
needs: detect-changed-services
|
||||
if: ${{ needs.detect-changed-services.outputs.matrix != '[]' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
service: ${{ fromJson(needs.detect-changed-services.outputs.matrix) }}
|
||||
|
||||
uses: ./.gitea/workflows/deploy-service.yml
|
||||
with:
|
||||
service_name: ${{ matrix.service }}
|
||||
environment: ${{ env.AGEBD_ENV }}
|
||||
runs-on: hla-dev
|
||||
if: needs.detect-changed-services.outputs.matrix != '[]' && needs.detect-changed-services.outputs.matrix != ''
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Deploy Changed Services
|
||||
run: |
|
||||
# Parse JSON array produced by detect-changed-services
|
||||
SERVICES_JSON='${{ needs.detect-changed-services.outputs.matrix }}'
|
||||
|
||||
echo "Services to deploy: $SERVICES_JSON"
|
||||
|
||||
# Iterate over each service and deploy
|
||||
echo "$SERVICES_JSON" | jq -r '.[]' | while read -r SERVICE; do
|
||||
if [ -z "$SERVICE" ]; then continue; fi
|
||||
|
||||
echo "=========================================="
|
||||
echo "Deploying service: $SERVICE (${{ env.AGEBD_ENV }})"
|
||||
echo "=========================================="
|
||||
|
||||
./.gitea/scripts/deploy-service.sh ${SERVICE} ${{ env.AGEBD_ENV }}
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user