|
4 | 4 | tags:
|
5 | 5 | - '**'
|
6 | 6 | workflow_dispatch:
|
| 7 | + inputs: |
| 8 | + quick_release: |
| 9 | + description: 'Quick release to production' |
| 10 | + type: boolean |
| 11 | + required: false |
| 12 | + default: false |
7 | 13 |
|
8 | 14 | jobs:
|
9 |
| - tag: |
10 |
| - environment: |
11 |
| - name: production |
12 |
| - runs-on: gha-runners-smartweb |
13 |
| - steps: |
14 |
| - - name: Tag and notify |
15 |
| - uses: IMIO/gha/tag-notify@v3.9.3 |
16 |
| - with: |
17 |
| - IMAGE_NAME: ${{ vars.IMAGE_NAME }} |
18 |
| - IMAGE_TAG: ${{ vars.IMAGE_TAG_STAGING }} |
19 |
| - NEW_IMAGE_TAGS: | |
20 |
| - ${{ vars.IMAGE_TAG_PRODUCTION }} |
21 |
| - REGISTRY_URL: ${{ secrets.HARBOR_URL }} |
22 |
| - REGISTRY_USERNAME: ${{ secrets.SMARTWEB_HARBOR_USERNAME }} |
23 |
| - REGISTRY_PASSWORD: ${{ secrets.SMARTWEB_HARBOR_PASSWORD }} |
24 |
| - MATTERMOST_WEBHOOK_URL: ${{ secrets.SMARTWEB_MATTERMOST_WEBHOOK_URL }} |
25 |
| - deploy: |
26 |
| - environment: |
27 |
| - name: production |
28 |
| - runs-on: gha-runners-smartweb |
29 |
| - needs: [tag] |
30 |
| - steps: |
31 |
| - - name: Get tomorrow date |
32 |
| - run: echo "DEPLOY_DATE=$(date --date='03:00 tomorrow' +'%Y-%m-%dT%H:%M:%S%z')" >> $GITHUB_ENV |
33 |
| - - name: Deploy to production and notify (tonight) |
34 |
| - if: endsWith(github.ref, '-quick') == false |
35 |
| - uses: IMIO/gha/rundeck-notify@v3.9.3 |
36 |
| - with: |
37 |
| - RUNDECK_URL: ${{ secrets.RUNDECK_URL }} |
38 |
| - RUNDECK_TOKEN: ${{ secrets.SMARTWEB_RUNDECK_TOKEN }} |
39 |
| - RUNDECK_JOB_ID: ${{ vars.RUNDECK_JOB_ID }} |
40 |
| - RUNDECK_PARAMETERS: '-F "runAtTime=${{ env.DEPLOY_DATE }}" -F "filter=name ${{ vars.NODE_NAME }}" -F "option.tag=${{ vars.IMAGE_TAG_PRODUCTION }}" -F "option.image_name=${{ vars.IMAGE_NAME }}" -F "option.service_name=${{ vars.SERVICE_NAME }}"' |
41 |
| - MATTERMOST_WEBHOOK_URL: ${{ secrets.SMARTWEB_MATTERMOST_WEBHOOK_URL }} |
42 |
| - - name: Deploy to production and notify (now - quick release) |
43 |
| - if: endsWith(github.ref, '-quick') |
44 |
| - uses: IMIO/gha/rundeck-notify@v3.9.3 |
45 |
| - with: |
46 |
| - RUNDECK_URL: ${{ secrets.RUNDECK_URL }} |
47 |
| - RUNDECK_TOKEN: ${{ secrets.SMARTWEB_RUNDECK_TOKEN }} |
48 |
| - RUNDECK_JOB_ID: ${{ vars.RUNDECK_JOB_ID }} |
49 |
| - RUNDECK_PARAMETERS: '-F "filter=name ${{ vars.NODE_NAME }}" -F "option.tag=${{ vars.IMAGE_TAG_PRODUCTION }}" -F "option.image_name=${{ vars.IMAGE_NAME }}" -F "option.service_name=${{ vars.SERVICE_NAME }}"' |
50 |
| - MATTERMOST_WEBHOOK_URL: ${{ secrets.SMARTWEB_MATTERMOST_WEBHOOK_URL }} |
| 15 | + promote-staging-to-production: |
| 16 | + uses: IMIO/gha-workflows/.github/workflows/promote-staging-to-production.yml@52677f55dd458fe3736fc999cfdaacfca5bf0049 |
| 17 | + with: |
| 18 | + github_environment: production |
| 19 | + image_name: ${{ vars.IMAGE_NAME }} |
| 20 | + image_tag_staging: ${{ vars.IMAGE_TAG_STAGING }} |
| 21 | + image_tag_production: ${{ vars.IMAGE_TAG_PRODUCTION }} |
| 22 | + rundeck_job_id: ${{ vars.RUNDECK_JOB_ID }} |
| 23 | + node_name: ${{ vars.NODE_NAME }} |
| 24 | + runner_label: gha-runners-smartweb |
| 25 | + schedule_time: '03:00' |
| 26 | + service_name: ${{ vars.SERVICE_NAME }} |
| 27 | + quick_release: ${{ inputs.quick_release || false }} |
| 28 | + secrets: |
| 29 | + mattermost_webhook_url: ${{ secrets.SMARTWEB_MATTERMOST_WEBHOOK_URL }} |
| 30 | + registry_url: ${{ secrets.HARBOR_URL }} |
| 31 | + registry_username: ${{ secrets.SMARTWEB_HARBOR_USERNAME }} |
| 32 | + registry_password: ${{ secrets.SMARTWEB_HARBOR_PASSWORD }} |
| 33 | + rundeck_url: ${{ secrets.RUNDECK_URL }} |
| 34 | + rundeck_token: ${{ secrets.SMARTWEB_RUNDECK_TOKEN }} |
0 commit comments