Deploying to Skpr using the command line has always been easy. Now it's even easier using the Skpr Circle CI Orb.
Here's the process in a few simple steps:
1. Set up credentials
Add your provided Skpr credentials as CircleCI secrets either directly to the project or via a CircleCI context. They should be available to the workflow as the following environment variables:
SKPR_USERNAME=xxxxxxxxxxxxxxxxxx
SKPR_PASSWORD=yyyyyyyyyyyyyyyyyy
2. Add the Orb
Add the following to the top of your .circleci/config.yml
orbs:
    skpr: skpr/skpr@1.2.3
NOTE: Check the Orb page to ensure you are using the latest version Skpr Orb.
3. Use the Orb
You can now use the Orb in your deployment workflow. For example:
workflows:
  deploy:
    jobs:
      - skpr/deploy:
          env: dev
          post-deploy:
            - run: skpr exec dev — drush updb -y
In the above example, the skpr/deploy job takes two parameters:
- env- The environment to deploy to.
- post-deploy- A list of steps to run after deployment.
If you have a staging -> approval -> prod deployment workflow, then you can use the following example:
workflows:
  deploy:
    jobs:
      - skpr/deploy:
          name: deploy_stg
          env: stg
          post-deploy:
            - run: skpr exec stg — drush updb -y
      - approval:
          type: approval
          requires:
            - deploy_stg
      - skpr/deploy:
          name: deploy_prod
          env: prod
          package: false
          post-deploy:
            - run: skpr exec prod — drush updb -y
          requires:
            - approval
In the above example, the prod deployment does not require packaging as it re-uses the version that was packaged for the staging environment.
The full example is:
workflows:
  deploy:
    jobs:
      - skpr/deploy:
          name: deploy_dev
          context: skpr-example
          env: dev
          post-deploy:
            - run: skpr exec dev — drush updb -y
          filters:
            branches:
              only: master
      - skpr/deploy:
          name: deploy_stg
          context: skpr-example
          env: stg
          post-deploy:
            - run: skpr exec stg — drush updb -y
          filters:
            branches:
              only: releases
      - approve:
          type: approval
          requires:
            - deploy_stg
      - skpr/deploy:
          name: deploy_prod
          context: skpr-example
          env: prod
          package: false
          post-deploy:
            - run: skpr exec prod — drush updb -y
          requires:
            - approve
Of course, you can still use the skpr/cli Docker image in your custom job and run the Skpr commands directly.