refactor clone job

This commit is contained in:
matthewswspence 2024-10-25 15:16:17 -05:00
parent 7edd044828
commit 027870e60a
No known key found for this signature in database
GPG key ID: FB458202A7852BA4

View file

@ -12,41 +12,41 @@ on:
env: env:
DESTINATION_ENVIRONMENT: ms DESTINATION_ENVIRONMENT: ms
SOURCE_ENVIRONMENT: staging SOURCE_ENVIRONMENT: staging
jobs: jobs:
clone-database: clone-database:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
CF_USERNAME: CF_${{ env.SOURCE_ENVIRONMENT }}_USERNAME
CF_PASSWORD: CF_${{ env.SOURCE_ENVIRONMENT }}_PASSWORD
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Clone - name: Share DB Service
uses: cloud-gov/cg-cli-tools@main uses: cloud-gov/cg-cli-tools@main
with:
cf_username: ${{ secrets[env.CF_USERNAME] }}
cf_password: ${{ secrets[env.CF_PASSWORD] }}
cf_org: cisa-dotgov
cf_space: ${{ env.DESTINATION_ENVIRONMENT }}
cf_command: share-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }}
- name: Clone - name: Clone Database
env: uses: cloud-gov/cg-cli-tools@main
CF_USERNAME: CF_${{ env.DESTINATION_ENVIRONMENT }}_USERNAME with:
CF_PASSWORD: CF_${{ env.DESTINATION_ENVIRONMENT }}_PASSWORD cf_username: ${{ secrets.CF_MS_USERNAM }}
run: | cf_password: ${{ secrets.CF_MS_PASSWORD }}
# login to cf cli cf_org: cisa-dotgov
cf login -a api.fr.cloud.gov -u $CF_USERNAME -p $CF_PASSWORD -o cisa-dotgov -s ${{ env.DESTINATION_ENVIRONMENT }} cf_space: ${{ env.SOURCE_ENVIRONMENT }}
command: cg-manage-rds clone getgov-${{ env.SOURCE_ENVIRONMENT }}-database getgov-${{ env.DESTINATION_ENVIRONMENT }}-database
# install cg-manage-rds tool
pip install git+https://github.com/cloud-gov/cg-manage-rds.git - name: Unshare DB Service
uses: cloud-gov/cg-cli-tools@main
# share the sandbox db with the Staging space with:
cf share-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }} cf_username: ${{ secrets.CF_MS_USERNAM }}
cf_password: ${{ secrets.CF_MS_PASSWORD }}
# target the Staging space cf_org: cisa-dotgov
cf target -s ${{ env.SOURCE_ENVIRONMENT }} cf_space: ${{ env.SOURCE_ENVIRONMENT }}
cf_command: unshare-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }}
# clone from staging to the sandbox
cg-manage-rds clone getgov-${{ env.SOURCE_ENVIRONMENT }}-database getgov-${{ env.DESTINATION_ENVIRONMENT }}-database
rm db_backup.sql
# switch to the target sandbox space
cf target -s ${{ env.DESTINATION_ENVIRONMENT }}
# un-share the sandbox from Staging
cf unshare-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }}