diff --git a/.github/workflows/deploy-to-jo.yaml b/.github/workflows/deploy-to-jo.yaml new file mode 100644 index 000000000..432f3825f --- /dev/null +++ b/.github/workflows/deploy-to-jo.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json +name: "jo.statbus.org<-devops/deploy-to-jo" +on: + # Allow manual deployment in github + workflow_dispatch: + push: + branches: + - "devops/deploy-to-jo" + +# Deploys are serial for a deploy branch. +concurrency: + group: ${{ github.ref_name }} + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: executing remote ssh commands + uses: appleboy/ssh-action@v1.0.0 + with: + host: niue.statbus.org + username: statbus_jo + key: ${{ secrets.SSH_KEY }} + command_timeout: 60m + script: /usr/local/bin/deploy-statbus.sh \ No newline at end of file diff --git a/devops/create-new-statbus-installation.sh b/devops/create-new-statbus-installation.sh index 5e953162c..72c0000f0 100755 --- a/devops/create-new-statbus-installation.sh +++ b/devops/create-new-statbus-installation.sh @@ -35,6 +35,34 @@ for subdomain in "" "api." "www."; do fi done +# Generate GitHub workflow file for deployment if it doesn't exist +if [ ! -f ".github/workflows/master-to-${DEPLOYMENT_SLOT_CODE}.yaml" ]; then + echo "Generating GitHub workflow file..." + if [ -f ".github/workflows/master-to-demo.yaml" ]; then + mkdir -p .github/workflows + sed "s/demo/${DEPLOYMENT_SLOT_CODE}/g" .github/workflows/master-to-demo.yaml > ".github/workflows/master-to-${DEPLOYMENT_SLOT_CODE}.yaml" + echo "Created GitHub workflow file for ${DEPLOYMENT_SLOT_CODE}" + else + echo "Warning: Could not find template workflow file .github/workflows/master-to-demo.yaml" + fi +else + echo "GitHub workflow file for ${DEPLOYMENT_SLOT_CODE} already exists" +fi + +# Generate deploy-to workflow file if it doesn't exist +if [ ! -f ".github/workflows/deploy-to-${DEPLOYMENT_SLOT_CODE}.yaml" ]; then + echo "Generating deploy-to workflow file..." + if [ -f ".github/workflows/deploy-to-demo.yaml" ]; then + mkdir -p .github/workflows + sed "s/demo/${DEPLOYMENT_SLOT_CODE}/g" .github/workflows/deploy-to-demo.yaml > ".github/workflows/deploy-to-${DEPLOYMENT_SLOT_CODE}.yaml" + echo "Created deploy-to workflow file for ${DEPLOYMENT_SLOT_CODE}" + else + echo "Warning: Could not find template workflow file .github/workflows/deploy-to-demo.yaml" + fi +else + echo "Deploy-to workflow file for ${DEPLOYMENT_SLOT_CODE} already exists" +fi + echo "Configuring server..." echo "Creating user" @@ -270,18 +298,4 @@ ssh $DEPLOYMENT_USER@$HOST bash < ".github/workflows/master-to-${DEPLOYMENT_SLOT_CODE}.yaml" - echo "Created GitHub workflow file for ${DEPLOYMENT_SLOT_CODE}" - else - echo "Warning: Could not find template workflow file .github/workflows/master-to-demo.yaml" - fi -else - echo "GitHub workflow file for ${DEPLOYMENT_SLOT_CODE} already exists" -fi - echo "Setup of ${DEPLOYMENT_SLOT_NAME}(${DEPLOYMENT_SLOT_CODE}) completed successfully!"