-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (128 loc) · 5.55 KB
/
build_dev.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# This is a basic workflow to help you get started with Actions
name: Build image on DEV branch
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
pull_request:
branches: [ "dev" ]
push:
branches: [ "dev" ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
deploy-dev:
# The type of runner that the job will run on
runs-on: ubuntu-latest
environment:
name: development # Set the environment name
# Only trigger the workflow if the commit message contains '[build]'
if: contains(github.event.head_commit.message, '[build]')
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Send alert that a new commit has been created
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
🚀 *NEW COMMIT*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: Building `vngcloud-blockstorage-csi-driver` image
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
with:
ref: dev
# Runs a set of commands using the runners shell
- name: Containerize the application
continue-on-error: true
run: |
make build-local-images
- name: Send alert that the image has been built failed
uses: appleboy/telegram-action@master
if: ${{ failure() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
⛔ *ERROR*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: Failed to build `vngcloud-blockstorage-csi-driver` image
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Send alert that the image has been built success
uses: appleboy/telegram-action@master
if: ${{ success() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
📦 *SUCCESS*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: The `vngcloud-blockstorage-csi-driver:${{ env.VERSION }}` image is built successfully, try to push it to VngCloud Registry
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Login to vcr.vngcloud.vn
uses: docker/login-action@v3
with:
registry: ${{ vars.VCR_DEV_REGISTRY }}
username: ${{ secrets.VCR_DEV_USERNAME }}
password: ${{ secrets.VCR_DEV_PASSWORD }}
- name: Push to vcr.vngcloud.vn
continue-on-error: true
run: |
docker image push ${{ vars.VCR_DEV_REGISTRY }}/vngcloud-blockstorage-csi-driver:v0.0.0
- name: Send alert that the image has been pushed failed
uses: appleboy/telegram-action@master
if: ${{ failure() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
⛔ *ERROR*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: Failed to PUSH `vngcloud-blockstorage-csi-driver` image to VngCloud registry
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Send alert that the image has been pushed success
uses: appleboy/telegram-action@master
if: ${{ success() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
🛸 *SUCCESS*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: The `vngcloud-blockstorage-csi-driver:${{ env.VERSION }}` image is pushed successfully to VngCloud registry
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}