Auto Sync projects in Xero #38
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to Production | |
on: | |
release: | |
types: [created] | |
jobs: | |
production_deploy: | |
runs-on: ubuntu-latest | |
environment: Production | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: satackey/action-docker-layer-caching@v0.0.11 | |
continue-on-error: true | |
- name: push to dockerhub | |
uses: fylein/docker-release-action@master | |
env: | |
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} | |
IMAGE_NAME: fyle_xero-api | |
- name: Deploy to Production | |
uses: fylein/aws-eks-deploy-action@master | |
env: | |
EKS_CLUSTER_NAME: ${{ secrets.EKS_CLUSTER_NAME }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
LOCAL_HOST: ${{ secrets.LOCAL_HOST }} | |
LOCAL_PORT: ${{ secrets.LOCAL_PORT }} | |
REMOTE_PORT: ${{ secrets.REMOTE_PORT }} | |
EKS_KUBECTL_ROLE: ${{ secrets.EKS_KUBECTL_ROLE }} | |
ROLE_SESSION_NAME: ${{ secrets.ROLE_SESSION_NAME }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
KUBERNETES_MANIFEST_FILE_PATH: deployment/production/controller.yml | |
- name: Create new Sentry release | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
SENTRY_ORG: fyle-technologies-private-limi | |
SENTRY_PROJECT: xero-api | |
SENTRY_DEPLOY_ENVIRONMENT: production | |
run: | | |
# Install Sentry CLI | |
curl -sL https://sentry.io/get-cli/ | bash | |
# Create new Sentry release | |
export SENTRY_RELEASE=$(sentry-cli releases propose-version) | |
sentry-cli releases new -p $SENTRY_PROJECT $SENTRY_RELEASE | |
sentry-cli releases set-commits --auto $SENTRY_RELEASE | |
sentry-cli releases finalize $SENTRY_RELEASE | |
# Create new deploy for this Sentry release | |
sentry-cli releases deploys $SENTRY_RELEASE new -e $SENTRY_DEPLOY_ENVIRONMENT | |
- name: Slack Notification | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_COLOR: ${{ job.status }} | |
SLACK_MESSAGE: Production Deploy Status - ${{ job.status }} | |
SLACK_TITLE: Deploy Xero API to Production | |
SLACK_ICON_EMOJI: ":pepeok:" | |
SLACK_USERNAME: QBO_API | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_FOOTER: '' |