2 changed files with 59 additions and 0 deletions
			
			
		@ -0,0 +1,59 @@
					 | 
				
			||||
name: 'CI/CD Pipeline' | 
				
			||||
 | 
				
			||||
on: | 
				
			||||
  push: | 
				
			||||
    branches: | 
				
			||||
    - main | 
				
			||||
  pull_request: | 
				
			||||
  workflow_dispatch: | 
				
			||||
 | 
				
			||||
concurrency: 'production' | 
				
			||||
 | 
				
			||||
defaults: | 
				
			||||
  run: | 
				
			||||
    shell: bash | 
				
			||||
 | 
				
			||||
jobs: | 
				
			||||
  deploy: | 
				
			||||
    name: Deploy | 
				
			||||
 | 
				
			||||
    runs-on: ubuntu-latest | 
				
			||||
    environment: 'production' | 
				
			||||
    if: github.ref == 'refs/heads/main' | 
				
			||||
    needs: [lint, test] | 
				
			||||
 | 
				
			||||
    steps: | 
				
			||||
    - name: Checkout code | 
				
			||||
      uses: actions/checkout@v2 | 
				
			||||
 | 
				
			||||
    - name: Install cf client | 
				
			||||
      env: | 
				
			||||
        CF_CLI_VERSION: 7.0.0-beta.30 | 
				
			||||
      run: | | 
				
			||||
        curl -L "https://packages.cloudfoundry.org/stable?release=linux64-binary&version=${CF_CLI_VERSION}" | tar -zx -C /tmp | 
				
			||||
        sudo cp /tmp/cf7 /usr/local/bin/cf7 | 
				
			||||
    - name: Deploy | 
				
			||||
      env: | 
				
			||||
        CF_USERNAME: ${{ secrets.CF_USERNAME }} | 
				
			||||
        CF_PASSWORD: ${{ secrets.CF_PASSWORD }} | 
				
			||||
        CF_API_ENDPOINT: ${{ secrets.CF_API_ENDPOINT }} | 
				
			||||
        CF_SPACE: ${{ secrets.CF_SPACE }} | 
				
			||||
        CF_ORG: ${{ secrets.CF_ORG }} | 
				
			||||
        API_USER: ${{ secrets.API_USER }} | 
				
			||||
        API_KEY: ${{ secrets.API_KEY }} | 
				
			||||
        APP_NAME: dluhc-core-staging | 
				
			||||
        GOVUK_NOTIFY_API_KEY: ${{ secrets.GOVUK_NOTIFY_API_KEY }} | 
				
			||||
        APP_HOST: ${{ secrets.APP_HOST }} | 
				
			||||
        RAILS_MASTER_KEY: ${{ secrets.RAILS_MASTER_KEY }} | 
				
			||||
        IMPORT_PAAS_INSTANCE: ${{ secrets.IMPORT_PAAS_INSTANCE }} | 
				
			||||
      run: | | 
				
			||||
        cf7 api $CF_API_ENDPOINT | 
				
			||||
        cf7 auth | 
				
			||||
        cf7 target -o $CF_ORG -s $CF_SPACE | 
				
			||||
        cf7 set-env $APP_NAME API_USER $API_USER | 
				
			||||
        cf7 set-env $APP_NAME API_KEY $API_KEY | 
				
			||||
        cf7 set-env $APP_NAME GOVUK_NOTIFY_API_KEY $GOVUK_NOTIFY_API_KEY | 
				
			||||
        cf7 set-env $APP_NAME APP_HOST $APP_HOST | 
				
			||||
        cf7 set-env $APP_NAME RAILS_MASTER_KEY $RAILS_MASTER_KEY | 
				
			||||
        cf7 set-env $APP_NAME IMPORT_PAAS_INSTANCE $IMPORT_PAAS_INSTANCE | 
				
			||||
        cf7 push $APP_NAME --strategy rolling | 
				
			||||
					Loading…
					
					
				
		Reference in new issue