From 76d40875b6a5b8e6184c021ae22dda4a9ee58447 Mon Sep 17 00:00:00 2001 From: Vishal Khode Date: Fri, 29 Nov 2024 18:35:49 +0530 Subject: [PATCH] New CD workflow added. --- .github/workflows/deployment.workflow.yml | 51 +++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/deployment.workflow.yml diff --git a/.github/workflows/deployment.workflow.yml b/.github/workflows/deployment.workflow.yml new file mode 100644 index 000000000..a545da9ac --- /dev/null +++ b/.github/workflows/deployment.workflow.yml @@ -0,0 +1,51 @@ +name: "Code Deployment on Acquia Env" +on: + push: + branches: [ code-deployment ] +jobs: + acquia_code_deployment: + #if: ${{ github.ref == 'refs/heads/develop' && github.event_name == 'push' }} + name: "Code Deployment on Acquia Environment" + env: + GIT_AUTHOR_NAME: "Vishal Khode" + GIT_COMMITTER_NAME: "Vishal Khode" + GIT_COMMITTER_EMAIL: "vishal.khode@acquia.com" + GIT_AUTHOR_EMAIL: "vishal.khode@acquia.com" + runs-on: ubuntu-latest + environment: acquia_code_deployment + concurrency: production + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Configure SSH keys + run: | + mkdir -p ~/.ssh + echo "${ACQUIA_CLOUD_SSH_PRIVATE_KEY}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval `ssh-agent -s` + ssh-add ~/.ssh/id_rsa + + ssh-keyscan -H "orionacmsdev.ssh.prod.acquia-sites.com" >> ~/.ssh/known_hosts + + # Loop through each line in the environment variable. + echo "${ACQUIA_CLOUD_KNOWN_HOSTS}" | while IFS= read -r KNOWN_HOST; do + if [[ -n "${KNOWN_HOST}" ]]; then + CLEANED_HOST=$(echo "${KNOWN_HOST}" | tr -d '\r' | xargs -n1) + ssh-keyscan -v -H "${CLEANED_HOST}" >> ~/.ssh/known_hosts 2>/dev/null || { + echo "Warning: Unable to scan host ${CLEANED_HOST}. Skipping." + } + fi + done + shell: bash + env: + ACQUIA_CLOUD_SSH_PRIVATE_KEY: ${{ secrets.ACQUIA_CLOUD_SSH_PRIVATE_KEY }} + ACQUIA_CLOUD_KNOWN_HOSTS: ${{ vars.ACQUIA_CLOUD_KNOWN_HOSTS }} + - name: Setup Acquia Cloud CLI + run: | + curl -OL https://github.com/acquia/cli/releases/latest/download/acli.phar + chmod +x acli.phar + mv acli.phar /usr/local/bin/acli + acli --version + #acli auth:login --key="${ACQUIA_API_KEY}" --secret="${ACQUIA_API_SECRET}" +